Uoversatt: Denne artikkelen er delvis på engelsk, og ikke fullstendig oversatt til norsk |
| Apache Cassandra | |||
|---|---|---|---|
| Skaper(e) | Avinash Lakshman, Prashant Malik | ||
| Utvikler(e) | Apache Software Foundation | ||
| Utgitt | Juli 2008 | ||
| Nyeste versjon | 5.0.9 (7. august 2026) | ||
| Kodelager | https://github.com/apache/cassandra | ||
| Operativsystem | Linux Unix-liknende | ||
| Skrevet i | Programmeringsspråket Java | ||
| Type | NoSQL, database | ||
| Lisens | Apache License 2.0 | ||
| Nettsted | cassandra.apache. (en) | ||
Apache Cassandra er en fri og åpen kildekode distribuert NoSQL database-system designet for å håndtere store mengder data på tvers av mange standard servere, som sørger for høy tilgjengelighet med ingen «single point of failure». Cassandra tilbyr robust støtte for klustre som strekker seg over flere datasentre, med asynkron replikering uten en master som tillater lav ventetid på alle operasjoner for alle klienter.
Cassandra vektlegger også ytelse. I 2012 konkluderte University of Toronto-forskere som studerte NoSQL-systemer med at «In terms of scalability, there is a clear winner throughout our experiments. Cassandra achieves the highest throughput for the maximum number of nodes in all experiments», selv om dette «this comes at the price of high write and read latencies.»
Avinash Lakshman (en av forfatterne av Amazons Dynamo) og Prashant Malik utviklet Cassandra hos Facebook for å øke ytelsen til Facebooks innboks-søk. Facebook slapp Cassandra som et open-source-prosjekt på Google code i juli 2008. I mars 2009 ble det et Apache Incubator-prosjekt. 17. february 2010 ble prosjektet forfremmet til et «top-level»-prosjekt.
Facebook-utviklerne oppkalte deres database etter den mytologiske Trojan-profeten Cassandra.
Utgivelser inkluderer
| Versjon | Opprinnelig utgivelsesdato | Siste versjon | Utgivelsesdato | Status |
|---|---|---|---|---|
| 0.6 | 2010-04-12 | 0.6.13 | 2011-04-18 | Ikke lenger støttet |
| 0.7 | 2011-01-10 | 0.7.10 | 2011-10-31 | Ikke lenger støttet |
| 0.8 | 2011-06-03 | 0.8.10 | 2012-02-13 | Ikke lenger støttet |
| 1.0 | 2011-10-18 | 1.0.12 | 2012-10-04 | Ikke lenger støttet |
| 1.1 | 2012-04-24 | 1.1.12 | 2013-05-27 | Ikke lenger støttet |
| 1.2 | 2013-01-02 | 1.2.19 | 2014-09-18 | Ikke lenger støttet |
| 2.0 | 2013-09-03 | 2.0.17 | 2015-09-21 | Ikke lenger støttet |
| 2.1 | 2014-09-16 | 2.1.17 | 2017-02-21 | Fortsatt støttet |
| 2.2 | 2015-07-20 | 2.2.9 | 2017-02-21 | Fortsatt støttet |
| 3.0 | 2015-11-09 | 3.0.13 | 2017-04-14 | Fortsatt støttet |
| 3.10 | 2017-02-03 | 3.10 | 2017-02-03 | Siste utgivelse |
Farger: Gammel versjon som ikke blir oppdatert Gammel versjon som fortsatt blir oppdatert Nyeste utgave Nyeste testutgivelsen | ||||
Nedenfor et eksempel på oppretting av nøkkelrommet («key space»), inkludert en kolonnefamilie i CQL 3.0:
CREATE KEYSPACE MyKeySpace
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
USE MyKeySpace;
CREATE COLUMNFAMILY MyColumns (id text, Last text, First text, PRIMARY KEY(id));
INSERT INTO MyColumns (id, Last, First) VALUES ('1', 'Doe', 'John');
SELECT * FROM MyColumns;
Which gives:
id | first | last
----+-------+------
1 | John | Doe
(1 rows)
Cassandra er ikke konsistent på radenivå, noe som betyr at innsettinger og oppdateringer i tabellen som påvirker samme rad som behandles omtrent samme tid, kan påvirke kolonnene som ikke-nøkkelkolonner på inkonsekvente måter. En oppdatering kan påvirke en kolonne mens en annen påvirker den andre, noe som resulterer i sett med verdier innenfor raden som aldri ble angitt.
Cassandra er essensielt en hybrid mellom en «key-value» og en kolonne-orientert- (eller tabular)-databasesystem. Datamodellen er en partisjonert «row store» med tunbar konsistens. Rader er organisert i tabeller.
Når et cluster for Apache Cassandra designes, en viktig poeng er å velge riktig partisjonering. To partisjoneringer eksisterer:
Cassandra er et Java-basert system som kan styres og monitoreres via Java Management Extensions (JMX).
Cassandra er den mest populære «wide column store», og i september 2014 gikk forbi Sybase til å bli den 9 mest populære databasen, rett bak Microsoft Access og SQLite.
Uoversatt: Denne seksjonen er ikke fullstendig oversatt til norsk. |