Dann Corbit wrote: ↑Fri Apr 05, 2019 9:45 pm
If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Do you have some concrete benchmark?
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?
MonetDB is a general purpose in-memory transaction based ACID compliant column based SQL store. https://www.monetdb.org/Home
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.
Dann Corbit wrote: ↑Fri Apr 05, 2019 9:45 pm
If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Do you have some concrete benchmark?
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?
MonetDB is a general purpose in-memory transaction based ACID compliant column based SQL store. https://www.monetdb.org/Home
I probably misunderstood the screenshot you posted.
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...
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.
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.
sovaz1997 wrote: ↑Fri Apr 05, 2019 10:05 pm
For the ending, there are other solutions - the Nalimov tables, the Syzygy tables. I don't think that the database is suitable for this.
Oh... no positional search?
That's a very big limitation for the ULTIMATE Chess GUI...
I run it on windows
there are MSI files for all the parts of the system
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.
- CROSS PLATFORM COMPATIBLE
- OPEN SOURCE
- LIGHTWEIGHT (on hardware resources)
- ATTRACTIVE INTERFACE
Board Usage
- Allow dragging of pieces and point and click
- Highlight previous move
- Show all possible moves of clicked piece (toggle on/off)
- Arrows (and variation)
- CUSTOMIZEABLE
SUPPORT PLUGINS (Ability to include additional custom scripts e.g. python scripts)
Ability to Turn Off Default Features and save Custom Display Settings
- CHESS ENGINES
- Winboard and UCI compatibility
- Clearly display UCI options for engines with a LOT of options
- WINE Compatible (i.e. can use windows chess engine binaries through wine)
- ENGINE MATCHES :
MATCH TYPES : Round Robin, Gauntlet, Swiss, Knockout Tournaments
ADJUDICATION: Syzygy Dependent, and/or User Defined Resign/Draw options
OPENING BOOK SUPPORT
TIME CONTROLS :
- Allow Time Odds
- Allow Control of HH:MM:SS:ms , Increment , and movestogo
- Allow Pausing (Immediately, or after running games finish) of Tournament
VISUALS:
- "Beautiful Crosstables"
- Display Engine logos
- Display Updated Rating List (i.e. using BayesELO or Ordo)
BayesElo : https://www.remi-coulom.fr/Bayesian-Elo/
Ordo : https://github.com/michiguel/Ordo
- Display Chart of Evaluation score of Competing Engines
- Highlight first Point in PV where computers disagree (using color)
- Ability to view multiple Boards / evals of concurrent Engine matches (perhaps in tabs)
- SUPPORT OPENING BOOKS :
BOOK FORMATS : polyglot (.bin), Chessbase (.ctg)
FEATURES : Convert Between Book Types (including to/from pgn or epd database)
- Integrate Polyglot (esp. for Book Creation features)
- GAME DATABASE FEATURES :
- Search by Position, Result, Names,
- Integrate Pgn-Extract
- EPD Database management features would also be helpful
- READ/WRITE (FILE TYPES) :
-PGN
-EPD
-BIN
-CTG (https://github.com/sshivaji/ctgreader)
-SI4 (scid database files)
- CHESS BOARD & PIECES (allow easy import of additional)
PIECES : USE SVG FILES
BOARDS : Use entire chess board images, not individual dark/light square tiles
Rationale : Better Looking Boards do not use identical dark or light squares (e.g. wood boards)
- TRAINING MODULES
- OPENING STUDY / THEORY (Variation Trees)
- GUESS THE MOVE (e.g. https://sites.google.com/site/fredm/ )
- ENDGAMES (i.e. Practice specific endgames with slightly different positions)
- ADDITIONAL FEATURES
- Ability to run TLCV broadcasts ( https://github.com/kmar/livius )
- Chess960 Support ( esp. castling, random position generation )
- DGT Board Support ( https://github.com/niklasf/python-asyncdgt )
- THINGS THAT ARE ANNOYING TO AVOID
- don't lag and don't cause losses on time, like Arena does
- don't force user to work on text files, hand-type engine paths etc. like Winboard does
- exit gracefully, killing the engine processes (problems with Arena again)
By the way, a new GUI for tournaments will be available soon. I do not know the author. Also, I do not know what the distribution policy will be. It would be interesting to see him here, to find out more about GUI. It looks very interesting.
- THINGS THAT ARE ANNOYING TO AVOID
- don't lag and don't cause losses on time, like Arena does
- don't force user to work on text files, hand-type engine paths etc. like Winboard does
- exit gracefully, killing the engine processes (problems with Arena again)
This is pure and malicious libel. WinBoard doesn't force the user to work on text files or type engine paths at all. GUIs like Shredder and Fritz do that.
So winboard.INI has been done away with? Providing the same information on the command line does not count. Don't get me wrong. I think winboard is fabulous and I use it a lot. And configurations are broadly improved. But his complaint makes sense to me unless I have missed new developments (not unlikely).
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.