Difference between revisions of "Cassandra -NoSQL database"
(→Bevezető) |
(→Bevezető) |
||
Line 8: | Line 8: | ||
* '''Column families''': egy tábla az adatbázisban, amihez sorok tartoznak. Azonban az oszlopok fajtája soronként eltérhet. | * '''Column families''': egy tábla az adatbázisban, amihez sorok tartoznak. Azonban az oszlopok fajtája soronként eltérhet. | ||
+ | |||
+ | =Telepítés= | ||
+ | |||
+ | # docker run --name cassandra -p 9042:9042 -d cassandra | ||
+ | |||
+ | A parancssori Cassandra kliens része a telepítőnek, a bin mappában ül. Ezért indítunk még egy cassandra konténert, és abból fogunk csatlakozni a "cassandra" nevű konténerhez a 9042-es porton. | ||
+ | # docker run -it --rm cassandra /bin/bash | ||
+ | |||
+ | |||
+ | Majd indítsuk el a '''cqlsh''' programot: cqlsh host port | ||
+ | <pre> | ||
+ | root@0ce39e38988a:/# cqlsh 192.168.0.101 9042 | ||
+ | Connected to Test Cluster at create keyspace dev | ||
+ | [cqlsh 5.0.1 | Cassandra 3.11.3 | CQL spec 3.4.4 | Native protocol v4] | ||
+ | Use HELP for help. | ||
+ | cqlsh> | ||
+ | </pre> | ||
==INDEX vs Filter== | ==INDEX vs Filter== |
Revision as of 13:42, 30 September 2018
Bevezető
A Cassandra ugyan úgy mint az RDBMS elkülönített adatbázisokat használ, és azon belül táblákat hozhatunk létre, amiben sorok és oszlopok vannak.
- Keyspace: ez felel meg egy adatbázisnak az RDBMS-ben, vagy egy Index-nek az Elasticsearch-ben
- Column families: egy tábla az adatbázisban, amihez sorok tartoznak. Azonban az oszlopok fajtája soronként eltérhet.
Telepítés
# docker run --name cassandra -p 9042:9042 -d cassandra
A parancssori Cassandra kliens része a telepítőnek, a bin mappában ül. Ezért indítunk még egy cassandra konténert, és abból fogunk csatlakozni a "cassandra" nevű konténerhez a 9042-es porton.
# docker run -it --rm cassandra /bin/bash
Majd indítsuk el a cqlsh programot: cqlsh host port
root@0ce39e38988a:/# cqlsh 192.168.0.101 9042 Connected to Test Cluster at create keyspace dev [cqlsh 5.0.1 | Cassandra 3.11.3 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh>
INDEX vs Filter
Hatékonysági okokból alap esetben a Cassandra csak arra az oszlopra enged lekérdezni, amire van index.Csak akkor lehet index nélküli oszlopra hivatkozni a WHERE kifejezésben ha ezt implicit engedélyezzük az ALLOW FILTERING kulcsszóval a lezáró ; előtt. Ugyanis ha egy oszlopon nincs index, akkor a Cassandra az összes sort be fogja olvasni, és filterrel fogja kiválasztani WHERE-ben definiált mezőket. Milliós sorszám esetén ez már problémás lehet.
https://www.datastax.com/2012/01/getting-started-with-cassandra
Lekérdezések
https://www.datastax.com/2012/01/getting-started-with-cassandra