Ładowanie Ładowanie

News: > Digg porzuca MySQL na rzecz Cassandry, nierelacyjnego magazynu danych

wydrukuj: print publikuj: wykop dodaj do flakera Dodaj jako nius na OSnews.pl! delicious

Digg porzuca MySQL na rzecz Cassandry, nierelacyjnego magazynu danych

TAGI: digg , nosql , mysql , rdbms , cassandra
2010-03-11 12:55:00 | Adam Golański
Digg porzuca MySQL na rzecz Cassandry, nierelacyjnego magazynu danych

Wrogowie tradycyjnych RDBMS-ów, którzy właśnie spotkali się na konferencji NoSQL Live w Bostonie, mają powód do świętowania. Digg, największy social newsowy serwis internetowy świata porzucił MySQL. Rolę bazy danych będzie teraz w Diggu pełniła Cassandra – nierelacyjny, wysoce skalowalny magazyn, powstały w laboratoriach Facebooka.

Zdaniem członków ruchu NoSQL, klasyczne, scentralizowane SQL-owe bazy danych nie nadają się do współczesnych aplikacji webowych, obliczonych na jednoczesny dostęp tysięcy a nawet milionów użytkowników. „Dają ci zbyt wiele, zmuszają do dopasowywania danych do struktury systemu zarządzania” – powiedział Jon Travis, inżynier z należącej do VMware firmy SpringSource. Alternatywą mają być rozproszone magazyny danych, przetrzymujące je w parach klucz/wartość.

Nierelacyjne systemy przechowywania danych (terminu „baza danych” członkowie ruchu NoSQL nie lubią ze względu na jego powiązanie z RDBMS-ami) oferują niezrównaną szybkość i elastyczność. Najszybsze z nich, takie jak Hypertable, dzierżą rekordy w przetwarzaniu informacji – do 20 petabajtów na dobę.

Dodatkowo systemy takie łatwo się rozbudowuje. Nie trzeba dzielić ich na fragmenty, aby uruchamiać całość na rozproszonym klastrze. W Google system BigTable obsługuje około sześciu petabajtów danych rozrzuconych na kilku tysiącach serwerów.

Wykorzystana przez Digga Cassandra została uwolniona przez Facebooka w 2008 roku i trafiła pod skrzydła Fundacji Apache. Dzisiaj korzystają z niej m.in. takie serwisy jak Facebook i Twitter, stanowi też podstawę cloudcomputingowej oferty firmy RackSpace. Rozbudowa jest prosta, dodaje się po prostu kolejny węzeł do systemu. Rozwiązanie jest bardzo szybkie, według członków ruchu NoSQL Cassandra pozwala na zapisanie 50 GB danych w 0,12 sekundy – 2,5 tysiąca razy szybciej niż MySQL 5. Po części za szybkość tą odpowiada porzucenie tradycyjnych wymogów spójności, znanych z formuły ACID (atomicity, consistency, isolation, durability). Cassandra przyjmuje w to miejsce podejście określone jako „eventually consistent”, które nad spójność magazynu danych przedkłada jego dostępność.

Wybór Cassandry poprzedziły długie poszukiwania wśród dostępnych opensource'owych NoSQL-owych magazynów danych. Dziecko Facebooka wybrano ze względu na jego kolumnową orientację, która pozwala na przechowywanie w miarę ustrukturyzowanych danych. Testy rozpoczęły się we wrześniu 2009 roku, kiedy to Cassandra zastąpiła MySQL-a w jednym z kluczowych komponentów Digga.

Deweloperzy Digga nie tylko jednak potrafią brać – do kodu źródłowego projektu oddali wiele poprawek, które zwiększają m.in. szybkość upakowania (compaction) i cache'owania na poziomie wierszy.

Źródło: heise.de, about.digg.com

Najnowsze wiadomości

reklama

wydrukuj: print publikuj: wykop dodaj do flakera Dodaj jako nius na OSnews.pl! delicious

Czytaj webhosting.pl:

Dyskusja

dodaj komentarz
0 + -
comnt #01 -me 2010-03-11 13:18:22
-me Ano, jak to bazy nie wspierające ACID - dane mają być, a to, że mogą być bez sensu i coś tam sie rozjedzie to nam nie przeszkadza, ważne że będą szybkie.
------------------
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5
+1 + -
comnt #02 eimi® 2010-03-11 13:28:03
eimi Polecam przeczytać artykuł Vogelsa

http://www.allthingsdistributed.com/2008/12/eventually_consistent.html

To nie jest tak, że w takim magazynie może być dowolna kaszanka, byle się szybko mieliło :D.
------------------
Browser: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100213 Firefox/3.6
0 + -
comnt #03 c@c.c 2010-03-11 15:08:19
c@c.c Z doswiadczenia wiem ze problem powstaje wtedy gdy operujesz na dokumentach: applikacja zapisuje dokument, wyszukuje dokument i oczekuje dokumentu od bazy danych. Teraz zeby pracowac w MySQL na XML (w pewnym stopniu) to musisz skorzystac z niestandartowego rozszerzenia ExtractValue(columna, XPath). W SQLServerze mozesz sie do XML dostac tylko poprzez IIS i mozesz skorzystac z (niesuportowaneg) niepelnego XQuery. A co z dokumentami INI, html (nievalidatowalnym) etc ?
------------------
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1025 Safari/532.5
0 + -
comnt #04 eimi® 2010-03-13 12:28:34
eimi http://blog.reddit.com/2010/03/she-who-entangles-men.html

Reddit też przechodzi na Cassandrę.
------------------
Browser: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100213 Firefox/3.6

Komentarze

  • Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
  • Jeśli masz problemy z odczytaniem słów, zmień zdjęcie.
  • Używamy tego zabezpieczenia, ponieważ dzięki niemu rozwija się projekt reCAPTCHA. Sugerujemy jednak, by zarejestrować się w serwisie i w ten sposób ominąć konieczność ciągłego odczytywania wyrazów.
  • W treści komentarza można używać języka formatowania BBcode.