2009-01-23 14 views
9

Rozpoczynam badania nad projektem, który będzie wymagał dostarczenia semantyki ACID w bazie danych.Implementacja ACID

Ze względu na charakter danych nie nadaje się do przechowywania w powszechnie dostępnych systemach (relacyjnych lub w postaci pary klucz-wartość).

Jakie są dobre zasoby na temat wdrażania systemów, które muszą zapewniać semantykę ACID?

Moje typowe wyszukiwanie Google zwraca więcej informacji o systemie, który już zapewnia semantykę ACID, a nie jak wdrożyć takie systemy.

Odpowiedz

5

ARIES jest popularnym algorytmem do implementacji bazy danych ACID (np. SQL Server używa tego algorytmu).

  1. Wikipedia on ARIES
  2. The ARIES paper
+0

Pielęgnacja podsumować tutaj? –

+0

Zdecydowanie rzucę okiem na te zasoby. Wydaje się to dobrym punktem wyjścia. - Dzięki –

2

Timothy Leary - Jak działa Twój mózg

http://www.youtube.com/watch?v=SQq_XmhBTgg

+0

+1: Najlepsza odpowiedź, jaką widziałem od dłuższego czasu. Sława. –

+0

Niezupełnie jednak pomocna :) (o ile rozszerzenie umysłu nie pozwoliło ci rozwiązać problemu). –

+0

Kodowanie misji wizji powinno być prawdopodobnie zarezerwowane dla rozwoju kompilatora/systemu operacyjnego i inżynierii wstecznej. Nie mogę sobie wyobrazić, że dobrze działa dla baz danych. –

1

Jeśli znasz niemiecki, ja polecam

  • Alfons Kemperer: Datenbanksysteme - Eine Einführung ISBN 3486576909

"Einführung", co oznacza "wprowadzenie" jest understatment brutto. Książka zawiera kilka rozdziałów poświęconych fizycznemu układaniu danych, WAL (zapisywanie z wyprzedzeniem), historie serializowalne a nie numerowane, restart po niepowodzeniach i wiele innych.

Wątpię jednak, czy naprawdę chcesz napisać coś takiego. Czy muszę ci przypominać, że teoretycznie możesz modelować dowolną strukturę danych na szczycie modelu relacyjnego?

+0

Interesujące. Na pewno by mi się to podobało, gdybym mógł teraz czytać po niemiecku. Czy to dobrze, że możesz modelować wszystko na relacyjnej bazie danych, ale co, jeśli masz na myśli konkretny zestaw danych, a co jeśli ma on bardzo konkretny wzorzec odczytu? Elastyczność relacyjnej bazy danych jest marnowana. –

+1

Lepiej zmarnować elastyczność relacyjnej bazy danych niż 6 miesięcy swojego życia ... – Eloff

0

Zobacz optymistyczną współbieżność. Zamiast blokowania używaj podejścia STM (software transakation memory). Znacznie szybsze i łatwiejsze do wdrożenia. Możesz mieć 10 000 lub 100 000 transakcji ACID na sekundę, używając poziomu izolacji SERIALIZABLE. Nie trzeba rozluźniać własności izolacji transakcji.

Sugeruję także rozważenie użycia częściowo trwałej struktury danych dla pamięci podręcznej w pamięci i ewentualnie dla danych na dysku. Pozwala czytelnikom, którzy nigdy nie są blokowani przez operacje zapisu.

Zobacz http://bergdb.com/ dla bazy danych, nad którą pracuję. Zapraszam do kontaktu w celu omówienia tego interesującego tematu./Frans Lundberg

A dla mojego wziąć na źle zdefiniowane właściwości ACID:

http://blog.franslundberg.com/2013/12/acid-does-not-make-sense.html