High performaces DB indexing engine ( Delphi XE 10.2 )
High performaces DB indexing engine ( Delphi XE 10.2 )
Hi,
I'm working on a new database indexing engine project, and I would like to know if is there on the net some databases comparative benchmarks.
For the moment i didn't find this kind of tests ( I mean something like CPU benchmarks ...., with different DBs like MySQL, PostGres, SQL server and so on ).
From tests I made with my DB engine and MySQL I have hugely higher performances, and I would like to compare them with others benchs to confirm results.
In order to compare with MySQL I've installed MySQL and My DB engine locally the same PC ( AMD ThreadRipper 1950X@4Ghz, 32 Go RAM DDR4, Disk: SSD M2 NVMe Samsung 960 EVO on Windows 10 Pro 64 bits V. 1703 ).
All tests are made on the same PC, 1 user, except for Android ARM tests made on a ARCHOS Oxygen 101b Android tablet w/ ARM CPU: Mediatek MTK 8163A / Quad-Core @1.3 GHz Cortex A53.
Tests database is USA domestic flights database from Jan 1988 till Jun 2017 ( 30 years, more than 172 millions of records ), downloadable at:
https://www.transtats.bts.gov/DL_SelectFields.asp?Table_ID=236&DB_Short_Name=On-Time
Image 1: Loop ( for ... next ) changing origin airport code randomly at each query, measuring elapsed time
Image 2: 3 minutes loop changing origin airport code randomly at each query, measuring number of executed queries
Image 3: SELECT max ( deptime ) .... deptime is an unindexed field
Image 4: SELECT LIKE %xxx%
Image 5: SELECT DISTINCT on origin airport code
Hi,
I'm working on a new database indexing engine project, and I would like to know if is there on the net some databases comparative benchmarks.
For the moment i didn't find this kind of tests ( I mean something like CPU benchmarks ...., with different DBs like MySQL, PostGres, SQL server and so on ).
From tests I made with my DB engine and MySQL I have hugely higher performances, and I would like to compare them with others benchs to confirm results.
In order to compare with MySQL I've installed MySQL and My DB engine locally the same PC ( AMD ThreadRipper 1950X@4Ghz, 32 Go RAM DDR4, Disk: SSD M2 NVMe Samsung 960 EVO on Windows 10 Pro 64 bits V. 1703 ).
All tests are made on the same PC, 1 user, except for Android ARM tests made on a ARCHOS Oxygen 101b Android tablet w/ ARM CPU: Mediatek MTK 8163A / Quad-Core @1.3 GHz Cortex A53.
Tests database is USA domestic flights database from Jan 1988 till Jun 2017 ( 30 years, more than 172 millions of records ), downloadable at:
https://www.transtats.bts.gov/DL_SelectFields.asp?Table_ID=236&DB_Short_Name=On-Time
Image 1: Loop ( for ... next ) changing origin airport code randomly at each query, measuring elapsed time
Image 2: 3 minutes loop changing origin airport code randomly at each query, measuring number of executed queries
Image 3: SELECT max ( deptime ) .... deptime is an unindexed field
Image 4: SELECT LIKE %xxx%
Image 5: SELECT DISTINCT on origin airport code
A more fair comparison would be to something like SQLite, the others DB will have a huge overhead from the wire protocol (being remote DB).
ReplyDeleteUsing stored procs for the other DB would mitigate the wire overhead, but even then, it's hard to assess if your engine as the same ACID guarantees, and a lot of a database engine's time is spent ensuring those.
Eric Grange Thank you for your reply.
ReplyDeleteI will try to make also some tests on SQLIte ...