Milyen típusú adatbázist használjak?
Készítek egy weboldalt, ahol a keresésnél fontos lenne, hogy real-time adja a találatokat ahogy gépelem be a keresendő szót.
Pontosítva:
Lennének profilkártyák különböző foglalkozásokkal. Például a keresőbe azt írom, hogy "szemész", akkor ennek megfelelően dobja ki (lehetőség szerint várakozás nélkül) a találatokat.
Ilyen esetben Redis, SQL fele gondolkozzak, vagy esetleg más?
A Redis-t általában cache-elésre használják, real-time leaderboardokhzoz (látsd: [link]
Személy szerint nem használnám ilyenhez, mert az adataid struktúráltak, és szerintem a struktúrált adatok nem igazán passzolnak a redis-hez. De tagadhatatlan, hogy nagyon gyors.
Hogy őszinte legyek, egy hagyományos modern SQL adatbázisnak elégnek kell lennie, pl.: PostgreSQL. Még ha rengeteg adatod van (~5 millió sor mondjuk), jó teljesítménnyel kéne múködnie. Feltéve, hogy nem csinálsz valami nagyon drága dolgot a query-kben.
Mennyi adatról lenne szó?
Viszonylag sokrol.
Egy profil magaban foglalja a profilkep eleresi helyet, bemutatkozast, tapasztalatot stb., es ebbol jo egyedet meg.
Ez hobbi projekt lenne, csak tapasztalatszerzes miatt is erdekelne ,hogy melyik lenne ilyen esetben a legidealisabb db.
Én SQL-t használnék felindexelve ahogy előttem is írták. Több féle hatékony index adattípus is létezik. Illetve ha jól felépíted, normalizálod, egy jó kis hardver fut alatta nem kéne, hogy baj legyen.
Az ElasticSearch egy új NoSql-es megoldás, ami nagyon gyors, viszont van neki egy ingestion time-ja, azaz egy insert után várnod kell bizonytalan ideig, amíg bekerül az adat és használható lesz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!