2010-02-21 7 views
14

szukam dokumentu zorientowanych db z Ruby API, które ma właściwości podobne do SQLite:Alternatywa podobna do SQLite dla MongoDB?

  • samowystarczalny,
  • Serverless,
  • zerowej konfiguracji.

Czy istnieją lekkie alternatywy dla MongoDB lub CouchDB?

Czy RDDB jest możliwe?

Jeśli nie, jakie są najlepsze ścieżki do spacerowania?

+1

Właśnie zacząłem patrząc na MongoDB i pierwszą rzeczą, którą pomyślałem było, Chciałbym, żeby to było podzielone jak Tokyo Cabinet i Tokyo Tyrant na część bazy danych i sieć. Może tak jest i jeszcze go nie znalazłem. Zastanawiam się również nad próbą użycia SQLite i Lua do stworzenia bazy danych zorientowanej na dokumenty. – uroc

+0

Jaki system operacyjny? Windows, Linux, IPhone ....? – Theo

+0

@Theo: Linux i Windows. – davidbe

Odpowiedz

3

Możesz użyć Tokyo Cabinet za pośrednictwem interfejsu API Ruby.

+0

Czy można używać szafki Tokyo Cabinet w środowisku Windows? – Theo

+0

Spojrzałem na Gabinet w Tokio. Z dokumentu, który widzę, nie ma funkcji wyszukiwania, takiej jak MongoDB. Tokyo Dystopia nie ma interfejsu API Ruby. Plus, Tokyo Cabinet nie jest tak naprawdę zorientowany na dokumenty. – davidbe

4

Nie jest jeszcze gotowy, ale wersja CouchDB do wbudowania znajduje się w długoterminowej mapie drogowej.

Replikacja ma na celu włączenie aplikacji trybu offline z CouchDB. Jeśli pojawiły się bardzo konkretne potrzeby, można replikować dane z couchdb do lokalnej bazy danych, przechowywać je lokalnie, aktualizować i przywracać dane poprzez replikację, ale wymaga to trochę kodu.

1

Prawie wydaje mi się, że możesz zrobić jakiś hack, aby to osiągnąć.

Mieć tabelę przy użyciu identyfikatorów wiersza sqlite wraz z polem dla nazwy kolekcji i obiektu tekstowego blob, który byłby kodem json.

Masz inną tabelę do indeksowania z polami w kolekcji (nazwa kolekcji, nazwa pola, wartość pola, identyfikator wiersza dokumentu).

Można zrobić kilka klas otoki, aby obsłużyć takie rzeczy jak aktualizacje i odnośniki. Byłoby interesujące.

2

Jeśli korzystasz z Perla, polecam DBM::Deep, który przechowuje dowolne struktury danych na dysku, w tym transakcje z zatwierdzeniem/wycofaniem zmian, i jest instalacją opartą na jednym module perlowym. Nie robi się dużo lżejszy.