co to jest trwałość danych i dlaczego ma to znaczenie?

aby uzyskać więcej informacji na temat trwałości W Cassandrze i innych bazach danych NoSQL, sprawdź co to jest NoSQL?

zrozumienie znaczenia trwałości jest ważne dla oceny różnych systemów przechowywania danych. Biorąc pod uwagę znaczenie przechowywania danych w większości nowoczesnych aplikacji, dokonanie słabo poinformowanego wyboru może oznaczać znaczne przestoje lub utratę danych. W tym poście omówimy persistence i podejścia do projektowania magazynów danych i przedstawimy kilka informacji na ich temat w kontekście Cassandra.

trwałość to „kontynuacja skutku po usunięciu przyczyny”. W kontekście przechowywania danych w systemie komputerowym oznacza to, że dane przetrwają po zakończeniu procesu, z którym zostały utworzone. Innymi słowy, aby magazyn danych był uważany za trwały, musi zapisywać się do nieulotnej pamięci masowej.

jeśli potrzebujesz trwałości w swoim magazynie danych, musisz również zrozumieć cztery podejścia projektowe, które może przyjąć magazyn danych, i w jaki sposób (lub jeśli) te projekty zapewniają trwałość:

  • Czysta pamięć, brak trwałości, np. memcaches czy Scalaris

  • w pamięci z okresowymi migawkami, takimi jak Oracle Coherence lub Redis

  • oparte na dyskach z zapisami update-in-place, takimi jak MySQL ISAM lub MongoDB

  • oparte na Commitlog, takie jak wszystkie tradycyjne bazy danych OLTP (Oracle, SQL Server itp.)

metody w pamięci mogą osiągnąć niesamowitą szybkość, ale kosztem ograniczenia do stosunkowo małego zestawu danych. Większość obciążeń ma stosunkowo mały” gorący ” (aktywny) podzbiór ich całkowitych danych; systemy, które wymagają, aby cały zestaw danych zmieścił się w pamięci, a nie tylko aktywnej części, są w porządku dla pamięci podręcznej, ale źle pasują do większości innych aplikacji. Ponieważ dane są tylko w pamięci, nie przetrwają zakończenia procesu. Z tego względu tego typu magazyny danych nie są uważane za trwałe.

najprostszym sposobem na dodanie trwałości do systemu w pamięci jest okresowe migawki na dysk w konfigurowalnym interwale. W ten sposób możesz stracić do wartości tego interwału aktualizacji.

Systemy Update-in-place i oparte na commit-blog natychmiast przechowują nieulotną pamięć, ale tylko trwałość oparta na commit -log zapewnia trwałość-D w kwasie-z każdym zapisem utrzymywanym przed powrotem sukcesu do klienta.

Cassandra implementuje projekt trwałości oparty na logach zmian, ale jednocześnie zapewnia przestrajalny poziom trwałości. Dzięki temu możesz zdecydować, jaki jest odpowiedni kompromis między bezpieczeństwem a wydajnością. Dla każdej operacji zapisu można wybrać oczekiwanie na buforowanie tej aktualizacji do pamięci, zapisanie jej na dysku na jednym komputerze, zapisanie na dysku na wielu komputerach lub nawet zapisanie jej na dysku na wielu komputerach w różnych centrach danych. Lub, można wybrać, aby zaakceptować pisze szybko, jak to możliwe, potwierdzając ich odbiór bezpośrednio przed zostały one nawet całkowicie deserializowane z sieci.

w końcu jesteś jedynym, który wie, jaka jest odpowiednia wymiana wydajności/trwałości Twoich danych. Podjęcie świadomej decyzji w sprawie technologii przechowywania danych ma kluczowe znaczenie dla rozwiązania tego problemu na Twoich warunkach. Ponieważ Cassandra zapewnia taką dostrajalność, jest to logiczny wybór dla Systemów, które potrzebują trwałego, wydajnego magazynu danych.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.