Kiedy należy rozważyć użycie bazy danych w pamięci i na co zwrócić uwagę?

Po prostu pomyślałem, że teraz jestczęsto ma wystarczającą ilość pamięci RAM na serwerze bazy danych, aby buforować pełną bazę danych dlaczego jesteś specjalistąbaza danych pamięci (na przykładTimesTen, Zobacz teżStrona Wikipedii) Czy kilka lat temu wściekłość nie była wykorzystywana więcej?

Wydaje się, że w miarę upływu czasu nie są używane żadne bazy danych oparte na dyskach, np. Większość aplikacji jest teraz zbudowana na konwencjonalnych racjonalnych bazach danych. Oczekiwałbym czegoś przeciwnego, ponieważ pamięć RAM staje się prawie wolna dla wielu serwerów.

Pytam o to, ponieważ po prostu przeczytałem na temat architektury przepełnienia stosu i strona mówi

Jest to istotne, ponieważ baza danych Stack Overflow jest prawie w całości w pamięci RAM, a połączenia nadal kosztują zbyt dużo.

Ale nie sądzę, aby byłby to problem, gdyby zamiast zwykłego btree były używane „wskaźniki” i „kolekcje”. Btree jest bardzo sprytny, aby uzyskać okrągłe limity prędkości dostępu do dysku, np. Wymienia wykorzystanie procesora w celu zmniejszenia użycia dysku. Jednak teraz mamy tak dobrany RAM.

Ale wciąż potrzebujemy bazy danych, jak robimy własną

ZamykającyWykrywanie zakleszczeniaRejestrowanie transakcjiOdzyskiwanieItp

Jest bardzo trudne.

@ S.Lott, Biorąc pod uwagę, że wszyscy spędzamy tak długo wybierając indeksy, unikając dołączania i badając problemy z wydajnością bazy danych. Musi być lepszy sposób. Kilka lat temu powiedziano nam, że „w bazach danych pamięci” jest lepszy sposób. Zanim przejdę do korzystania z jednego itd., Chcę wiedzieć, dlaczego inni nie używają ich więcej.

(Jest mało prawdopodobne, żebym użył TimesTen osobiście, ponieważ jest on droższy (41 500 USD / procesor) i nie lubię rozmawiać z ludźmi z Oracle - wolę spędzać czas na pisaniu kodu.)

Zobacz też:

Alternatywa dla TimesTen w bazie danych pamięciCzy ktoś opublikował szczegółowe porównanie między różnymi RDBMS w pamięci?

Aktualizacja:

Zadałem to pytanieDŁUGIE czas temu, w dzisiejszych czasach Microsoft SQL Server ma „W pamięci OLTP„jest to silnik bazy danych zoptymalizowany pod kątem pamięci zintegrowany z silnikiem SQL Server. Nie jest tani, ale wydaje się byćbardzo szybki dla niektórych obciążeń.

questionAnswers(9)

yourAnswerToTheQuestion