Ich habe OmniSci (ehemals MapD), ein Pionier der SQL-Datenbank mit GPU, unter CentOS 7 ausprobiert. Ich habe eine Beispieldatenbank namens flight_2008_7M verwendet. Die GPU ist PNYs RTX 2080Ti 11GB.
Der Basiscomputer verwendet Core i5 der 7. Generation, 16 GB DDR4-RAM und 2 TB wichtige SATA-SSDs.
So installieren Sie OmniSci: https://docs.omnisci.com/v4.4.1/4_centos7-yum-gpu-ce-recipe.html Es ist in.
Es enthält 7 Millionen Daten verschiedener Flüge. Der Fall, in dem das Modell Boeing 777 oder 737 ist, wird durch die SQL-Anweisung extrahiert.
Der verwendete Code (Python 3) lautet:
omnisci-test.py
from pymapd import connect
import pandas as pd
import time
start = time.time()
con = connect(user="admin", password="PasswordHere", host="localhost", dbname="omnisci")
df = pd.read_sql("SELECT plane_model, uniquecarrier, deptime, arrtime from flights_2008_7M where plane_model like '777%' or plane_model like '737%' limit 1000", con)
print(df.to_string())
path = './omnisci-data.txt'
with open(path, 'w') as f:
        print(df.to_string(), file=f)
end = time.time()
print("Time elapsed: " + str(end - start))
Ich messe die Ausführungszeit von zwei Präfix-LIKE-Suchen oder, aber es waren 0,324 Sekunden, weil es auch auf SSD geschrieben ist. Es dauerte 0,2803 Sekunden, als ich den Teil maß, der nicht auf der SSD geschrieben war.
Ausführungsergebnis:
...
985     737-7H4            WN     1029     1126
986     737-7H4            WN     1720     1817
987     737-5H4            WN      754     1154
988     737-3H4            WN     1408     1511
989     737-7H4            WN     2039     2141
990     737-76Q            WN      622      813
991     737-5H4            WN     2125     2226
992     737-7H4            WN     2040     2156
993     737-3H4            WN      757      945
994     737-7H4            WN      641      739
995     737-3Q8            WN     1617     1903
996     737-3A4            WN     1304     1455
997     737-7H4            WN      737      843
998     737-7H4            WN     1952       42
999     737-5H4            WN     1729     1925
Time elapsed: 0.3249530792236328
Ich habe LIKE Search als eine versucht. (Boeing Nur 777)
df Teil
df = pd.read_sql("SELECT plane_model, uniquecarrier, deptime, arrtime from flights_2008_7M where plane_model like '777%' limit 1000", con)
Das Ergebnis hier war 0,2931640148162842 Sekunden. (Vor dem Schreiben an SSD)
Das Schreiben auf die SSD dauerte 0,29114460945129395 Sekunden. Sie können sehen, dass sich die Ausführungsgeschwindigkeit mit nur zwei LIKEs nicht wesentlich ändert.
Tsubasa Kato CEO von Inspire Search Co., Ltd.
Recommended Posts