2016-04-14 7 views
0

Ich arbeite für ein kleines Unternehmen, das ein bestehendes System erweitern möchte, aber dabei gibt es auch einige Probleme. Das System selbst wird zum Speichern von Bildern und Videos verwendet.Immer verfügbar sein, irgendwelche Gedanken?

Immer verfügbar sein

Also wir unseren Gastgeber gesprochen und sie empfohlen uns Ceph und Cassandra zu verwenden. Jetzt habe ich einige Nachforschungen angestellt und die Idee von Ceph gefällt mir sehr gut - aber Cassandra ... nun, es würde eine Weile dauern, bis das bestehende System daran angepasst wird.

Der Grund, warum sie Cassandra empfohlen haben, war, dass unsere Datenbank immer verfügbar sein würde. Jetzt - die Datenbank wird nicht massiv zunehmen, sie würde nur dazu dienen, einige Benutzerinformationen, Bild-Tags und andere kleine Metadaten zu speichern.

Ein weiteres Problem ist, dass viele Abfragen "like" verwenden, um die Tags zu finden. CQL unterstützt dies nicht.

Jetzt haben wir keine Entwickler, die Wissen über Cassandra haben, also könnte es eine Weile dauern, sich daran zu gewöhnen.

Meine Frage

  • Gibt es eine Alternative für Cassandra, eine relationale Datenbank bevorzugt (also nicht NoSQL) , die nach wie vor hoch verfügbar ist (wie wenn ein Server ausfällt, nimmt andere über).
  • Falls nicht - wie lange würde es dauern, um sich an Cassandras Abfragesprache für relativ unerfahrene Entwickler (~ 1 Jahr Erfahrung) zu gewöhnen, einschließlich des Knowhows, wie man ein System darauf anpasst.
  • Nur für den Fall, dass ich meine Recherchen nicht richtig gemacht habe, ist Cassandra sogar das System, nach dem wir suchen, die DB wird nur für die Speicherung und einige kleine Funktionen verwendet.
  • Im Fall empfehlen Sie eine NoSQL Sprache, welche anderen Möglichkeiten habe ich von Suchen und Finden von Daten (wie wir jetzt unter Verwendung von „..wo x wie‚etwas‘“ tun)
+0

'Erstellen Sie Tabellen-Tags (tagid, videoid, Tagstring)' und jetzt müssen Sie nicht 'like' verwenden: D –

+0

Mit Cassandra glaube ich nicht, dass Sie auf einem Nicht-Schlüssel oder Index suchen können oder haben Vielleicht habe ich das falsch verstanden? –

+0

Ich weiß nichts über Cassandra, aber ich wäre sehr überrascht, wenn eine Datenbank nicht eindeutige Schlüssel nicht unterstützt. Setzen Sie einen Index auf "videoid" und Sie sollten eingestellt werden. –

Antwort

0

Ein weiteres Thema Viele Abfragen verwenden "Gefällt mir", um die Tags zu finden. CQL unterstützt dies nicht.

Es tut, da Cassandra 3.5 mit SASI secondary index

Jetzt haben wir keine Entwickler, die Kenntnis von Cassandra hat, so dass es einige Zeit in Anspruch, dass verwendet nehmen nehmen könnte.

Es ist kein Problem, Sie haben Stunden kostenlosen Online-Video und Ausbildung bei Datastax Academy

Falls es nicht - wie lange es dauern würde, um Cassandra gewöhnungs nehmen, um die Abfragesprache für relativ unerfahrene Entwickler (~ 1 Jahr Erfahrung), einschließlich des Knowhows, wie man ein System darauf anpasst.

Schauen Sie sich einfach die Datenmodellierungsvideos an, Sie sollten schnell die grundlegenden Ideen hinter dem Cassandra-Datenmodell verstehen.

Nur für den Fall, dass ich meine Nachforschungen nicht richtig gemacht habe, ist Cassandra sogar das System, das wir suchen, die DB wird nur für die Speicherung und einige kleine Funktionen verwendet.

Wenn Sie nach extrem hoher Verfügbarkeit (0 Ausfallzeiten) suchen, ist Cassandra genau das Richtige für Sie.

Wenn Sie eine Ausfallzeit von einigen Minuten behandeln können, gibt es auch andere Systeme, die eine gute Passform sein können.

Verwandte Themen