2012-03-23 11 views
5

Potrzebuję przechowywać 250 milionów rekordów String -> Mapowanie ciągów i baza danych wydaje się przeciążać dla tego typu rzeczy.Utwórz własne przechowywanie danych w oparciu o tekst

Nie mogę zapisać tego w pamięci, ponieważ zabraknie miejsca na sterty. Mogłem rozszerzyć przestrzeń sterty, ale wolałbym tego nie robić.

Chcę jak najszybciej uzyskać dostęp do pojedynczego mapowania i chciałbym wiedzieć, jak najlepiej to wykorzystać.

Początkowy ciąg jest niepowtarzalny i co będę wyszukiwał przez. Znam także zakres długości łańcucha, ale jego zmapowana wartość może być dowolnej długości.

Czy można uzyskać coś tak szybkiego, jak bazę danych do wyszukiwania? Zgaduję, że nie, ale chciałem tylko mieć pewność.

Pracuję w Javie, ale zakładam, że będzie to niezależne od języka.

+7

dla mnie za 250 milionów rekordów, baza danych nie wygląda na "przeciążenie". Poszedłbym z db – franka

+0

Zdajesz sobie sprawę, że jak tylko przeniesiesz swoje dane z pamięci do pliku, prędkość będzie o rząd wielkości mniejsza, prawda? – dasblinkenlight

+1

Kiedy baza danych jest przeciążona, myślisz, że możesz sobie z nią poradzić w zwykłym systemie plików? – kosa

Odpowiedz

1

Nie możesz użyć istniejącego magazynu klucz-wartość, takiego jak Voldemort, CouchDB lub Cassandra? Jest tak wiele istniejących projektów, po co pisać nowe?

+0

To prawdopodobnie powinien być komentarz, a nie odpowiedź. – David

+0

Cóż, to rodzaj odpowiedzi - oprogramowanie, które już istnieje, użyj go. –

Powiązane problemy