What, do you mean like this:sovaz1997 wrote: ↑Fri Apr 05, 2019 8:50 pmDo you mean somehow combine these things?Dann Corbit wrote: ↑Fri Apr 05, 2019 8:12 pmThe GUI needs to be attached both to engines and to databases.
Otherwise, it is just a thing that scrolls through games.
In the sense that when you do an analysis, it is stored in the database and compared with a specific engine, its version, its settings. And when this position is reopened, the analysis will be saved.
Elements of the ULTIMATE Chess GUI?
Moderator: Ras
-
Dann Corbit
- Posts: 12885
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Elements of the ULTIMATE Chess GUI?
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
sovaz1997
- Posts: 292
- Joined: Sun Nov 13, 2016 10:37 am
Re: Elements of the ULTIMATE Chess GUI?
Like, if you analyze a position, then this analysis is stored in a database. Re-opening a position allows you to see the analysis you’ve made. Also, it can be used to fill the engine's hash table (by giving it quick launches of PV moves from the analysis).
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.6 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
Zevra v2.6 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
-
Dann Corbit
- Posts: 12885
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Elements of the ULTIMATE Chess GUI?
If we use MonetDB, then the data will be accessed at (approximately) memory speed.sovaz1997 wrote: ↑Fri Apr 05, 2019 9:15 pm {snip}
Now I understand what you are talking about. Yes, I think there is a definite advantage to having a general-purpose database for this: unlimited expansion options and more flexibility in data management. The ability to make your own requests of any complexity.
But I am afraid that such a database may take up more space and have a lower access speed.
And the AMD 7nm Epyc stuff is coming this summer.
$3500 will buy you 18 TB of enterprise class SSD.
A little more, if you want m.2 gumsticks.
Compute power is not the problem.
Utilization of that power for optimal purpose is the problem.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
Fulvio
- Posts: 399
- Joined: Fri Aug 12, 2016 8:43 pm
Re: Elements of the ULTIMATE Chess GUI?
Do you have some concrete benchmark?Dann Corbit wrote: ↑Fri Apr 05, 2019 9:45 pm If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Let's say a 10 million games database: how long it takes to find the games (not just the positions, if I would like to study the ending I need to see the continuation) with for example a king+rook vs king+rook+pawn ending?
-
sovaz1997
- Posts: 292
- Joined: Sun Nov 13, 2016 10:37 am
Re: Elements of the ULTIMATE Chess GUI?
In that case, this is a very good idea.Dann Corbit wrote: ↑Fri Apr 05, 2019 9:45 pmIf we use MonetDB, then the data will be accessed at (approximately) memory speed.sovaz1997 wrote: ↑Fri Apr 05, 2019 9:15 pm {snip}
Now I understand what you are talking about. Yes, I think there is a definite advantage to having a general-purpose database for this: unlimited expansion options and more flexibility in data management. The ability to make your own requests of any complexity.
But I am afraid that such a database may take up more space and have a lower access speed.
And the AMD 7nm Epyc stuff is coming this summer.
$3500 will buy you 18 TB of enterprise class SSD.
A little more, if you want m.2 gumsticks.
Compute power is not the problem.
Utilization of that power for optimal purpose is the problem.
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.6 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
Zevra v2.6 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
-
sovaz1997
- Posts: 292
- Joined: Sun Nov 13, 2016 10:37 am
Re: Elements of the ULTIMATE Chess GUI?
For the ending, there are other solutions - the Nalimov tables, the Syzygy tables. I don't think that the database is suitable for this.Fulvio wrote: ↑Fri Apr 05, 2019 10:01 pmDo you have some concrete benchmark?Dann Corbit wrote: ↑Fri Apr 05, 2019 9:45 pm If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Let's say a 10 million games database: how long it takes to find the games (not just the positions, if I would like to study the ending I need to see the continuation) with for example a king+rook vs king+rook+pawn ending?
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.6 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
Zevra v2.6 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
-
Fulvio
- Posts: 399
- Joined: Fri Aug 12, 2016 8:43 pm
-
Dann Corbit
- Posts: 12885
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Elements of the ULTIMATE Chess GUI?
MonetDB is a general purpose in-memory transaction based ACID compliant column based SQL store.Fulvio wrote: ↑Fri Apr 05, 2019 10:01 pmDo you have some concrete benchmark?Dann Corbit wrote: ↑Fri Apr 05, 2019 9:45 pm If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Let's say a 10 million games database: how long it takes to find the games (not just the positions, if I would like to study the ending I need to see the continuation) with for example a king+rook vs king+rook+pawn ending?
https://www.monetdb.org/Home
Independent Benchmark:
https://www.slideshare.net/FENGGEORGEYU ... ncharmarks
Anther interesting choice is omnisci, but it runs on GPU and has some limitations (e.g. GPU memory size).
https://github.com/omnisci
Clickhouse is also interesting:
https://clickhouse.yandex/
But it only runs on Posix platforms, and most of the world is Windoze.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
Fulvio
- Posts: 399
- Joined: Fri Aug 12, 2016 8:43 pm
Re: Elements of the ULTIMATE Chess GUI?
I probably misunderstood the screenshot you posted.Dann Corbit wrote: ↑Fri Apr 05, 2019 10:24 pmMonetDB is a general purpose in-memory transaction based ACID compliant column based SQL store.Fulvio wrote: ↑Fri Apr 05, 2019 10:01 pmDo you have some concrete benchmark?Dann Corbit wrote: ↑Fri Apr 05, 2019 9:45 pm If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Let's say a 10 million games database: how long it takes to find the games (not just the positions, if I would like to study the ending I need to see the continuation) with for example a king+rook vs king+rook+pawn ending?
https://www.monetdb.org/Home
I thought you already had a SQL database, and I am genuinely interested in some chess benchmark.
The point is that traditionally general purpose SQL engines were too slow, for example:
https://triplehappy.wordpress.com/2016/ ... mentation/
However, as you pointed out, computer will keep becoming faster, and if it wasn't for the performance penalty, general purpose databases would be the obvious choice. And there is the amazing Lichess example, which successfully uses a distributed mongoDB database...
-
Dann Corbit
- Posts: 12885
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Elements of the ULTIMATE Chess GUI?
I do already have a chess database, but it is not general purpose.
The screen shot of the database that I showed was SQL Server.
But I have data in other database systems, also.
Much of what I am saying in this thread is also about things that I want, not things that I have.
I have not done a conversion to MonetDB yet, though I do not think it would be very difficult, since I wrote a real time data synchronization program that will move data from any ODBC data source to any other ODBC data source. But what I have right now works fine for what I use it for. Eventually, I will probably convert it, but I am not in a rush.
I also cannot share my database conveniently, since it has many terabytes of data.
The screen shot of the database that I showed was SQL Server.
But I have data in other database systems, also.
Much of what I am saying in this thread is also about things that I want, not things that I have.
I have not done a conversion to MonetDB yet, though I do not think it would be very difficult, since I wrote a real time data synchronization program that will move data from any ODBC data source to any other ODBC data source. But what I have right now works fine for what I use it for. Eventually, I will probably convert it, but I am not in a rush.
I also cannot share my database conveniently, since it has many terabytes of data.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.