Bigtable Datenbank-design-Theorie
Ich bin sehr versiert in der Theorie und Praxis der relationalen Datenbank-design.
Ich weiß, was funktioniert und was nicht, was ist schnell und was ist reparierbar (fast - es gibt immer Platz zu zwicken, wenn Sie anfangen mit realen Daten).
Es scheint, ich kann nicht finden, einen beträchtlichen Körper des Wissens in Bezug auf verteilte skalierbare Datenbanken wie Googles Bigtable (zum schreiben von apps für google app engine). Was funktioniert, was nicht, was skaliert werden, warum nicht?
Sicher, es gibt einige blog-posts und Artikel, aber gibt es Bücher oder akademischen Forschungsarbeiten auf entwerfen von Datenbanken für bigtable und ähnliche Datenbank-Paradigmen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut Bigtable ist im wesentlichen eine Datenbank selbst, so nehme ich es, Ihre Frage ist mehr, wie Modell und zum Teil entwerfen Sie Ihr schema in diesen Bigtable wie Datenbanken. Genauer gesagt, Sie würde gerne wissen, wie dies zu tun, auf die App Engine von Google.
Mit GAE werden Sie mit dem Datastore-API, wodurch eine bedeutende Schicht der Abstraktion zu Bigtable, gewissermaßen Sie nicht haben, um sorgen über low-level details, wie Sie wurden, wenn Sie mit so etwas wie HBase. Es gibt ein paar Beiträge über SO (hier ist eine großartige Antwort ein Google-Ingenieur, ich denke, das ist Teil des GAME-team), das Sie leiten wird und bieten Hinweise, wie Sie nähern sich dieser neue Typ von Datenbank-system.
Hilfreiche Info:
Gibt es nicht viel aktuelle Literatur auf nicht-relationale Datenbank-design, dass ich bewusst bin, - auch wenn Sie vielleicht gewinnen einige wertvolle Einblicke durch das ausgraben von alten Papieren aus der Zeit vor dem relationalen Paradigma 'gewonnen'.
Die grundlegende Einsicht von Datenbanken wie Bigtable ist natürlich, dass in web-apps und andere Lesen-schwere Anwendungen, angesichts der Verfügbarkeit von günstigen Festplatten-Speicher, der beste Ansatz ist die Optimierung für lese-und tun mehr Arbeit schreibt. Normalisierung bewirkt das Gegenteil - das minimieren der Replikation von Daten auf der Festplatte, somit schreibt einfacher und billiger, aber das liest sich schwieriger. So ziemlich alle die Unterschiede zu relationalen Datenbank-design ergeben sich aus dieser einzigen Tatsache.
Den anderen Folge - eine, die könnte mehr Aufmerksamkeit - ist, dass, wenn Sie optimieren für Sie liest, Sie wissen, was Sie liest, wird den Eingriff in der Zeit Voraus, während die normierten Strukturen sind mehr oder weniger gelesen-Agnostiker.
nur um sicher zu sein... Sie habe gelesen, dass googles Papier über bigtable Recht?
Technologien wie hadoop basieren auf dieser ursprünglichen Papier.
Dem Suchbegriff Spalte orientierten Datenbanken/datenspeicher
Wikipedia
Am Anfang gab es eine Diskussion, wie Sie zum Aufbau von Datenbanken. Zeile orientiert gewonnen.
Jedoch Spalte ausgerichtet ist, in eine "revival" - phase. Es ist am besten für große nur-lese-verteilten Szenarien.
Gibt es viel Theorie zu finden, wenn Sie suchen, für Spalten-orientierte Datenbanken/stores.