..


Sponzorované odkazy

Použití s ​​Cassandra PHPCassa

Článek napsal Ciro Cardone
Strana 1 z 4

Účelem tohoto článku je ukázat, jak používat Cassandra v naší PHP aplikací.
Cassandra je projekt v rámci Facebooku s cílem oproštění se od MySQL k ukládání zpráv do složky Doručená pošta.

Cassandra patří do rodiny produktů nosql, zejména těch softwarových řešení, které ukládají data pomocí SQL syntaxe a představa o vztahu, tak to není RDBMS, ale distribuované databáze, která umožňuje nasazení v clusteru a spravovat velké množství data. Místo používání pojmů stolu, tuple a vztahu, Cassandra používá sloupec orientovaný přístup realizován pomocí hashe a pole, které uchovává informace ve formě {klíč: hodnota}.

Jak se vyvinul

Cassandra je nyní projekt Apache vyvinul java6 tedy přenosný, má jen požadavek na instalaci JRE.

Cassandra projektu

Hlavní rysy Cassandra jsou:

  1. Decentralizace: databáze je rozdělena na stejném uzlu v clusteru. Existují nedostatky v síti, nebo lomových bodů.
  2. Pružnosti: propustnost pro čtení / zápis se zvyšuje lineárně s přidáním nových strojů (uzly) do clusteru bez prostojů ani přerušení aplikace.
  3. Fault Tolerance: Data jsou automaticky replikovány v uzlech. Má podporu pro replikaci více datových center. Neúspěšné uzly lze vyměnit bez jakýchkoli prostojů.
  4. "Životnost" Cassandra je určen pro aplikace, kde ztráty dat je důležité a neměly by spadat i když celé datové centrum řeší problém ztráty dat přes synchronizační mechanismus založený na commitlog.
  5. Flexibilita: Můžete si vybrat aktualizace pro každou strategii k nápravě, může být replikaci synchronní nebo asynchronní.

Chcete-li získat všechny tyto výhody se však vývojáři museli opustit správu transakcí.

Datového modelu

Sloupce (sloupce) je nejnižší úroveň organizace dat v Cassandra, jsou n-tice, které obsahují jména, hodnoty a časové razítko. Oni jsou často reprezentováni jako příklad zápisu JSON:






 {



  



 "Jméno": "Jméno",



  



 "Value": "Cyrus"



  



 "Časové razítko": 123456789







 }



Jméno a hodnoty jsou pole bytů uspořádány jako UTF-8 řetězce. Klíč / hodnota páru "štítky" s časovým razítkem. Cassandra používá časové razítko, aby viděli, co poslední hodnoty (pamatujte, mluvíme o cluster) a zvládat konflikty.

Sloupec sloupce jsou uspořádány do skupin, které jsou blízké tabulky v relační databázi. Sloupec rodina obsahuje uspořádaný seznam sloupců, které lze označit za jejich jménem. Každý sloupec rodina je uložen v samostatném souboru a soubor je uspořádána do řádků (řádky).

Sloupec rodiny jsou pak seskupeny do keyspaces, typicky jedno použití. Méně používané jsou superColumns, speciální sloupce, které obsahují v nich další sloupce.

Typická velikost 4-Cassandra je tedy následující:

 



 Keyspace -> Sloup Rodinné -> Rodina řádku sloupce -> Columns -> Hodnoty

 
V případě, že přidáme SuperColumns:
 



 Keyspace -> Sloupec Super Family -> Rodina Super Sloupec Row -> Super sloupce -> Columns -> Hodnoty

 

Zde je zastoupení JSON prostého zápisu:






 Uživatelé {



  



 "Cyrus": {



    



 "Přezdívka": "Ci83"



    



 "Jméno": "Cardone"



  



 }







 }



a složitější používá supercolumns





 Uživatelé {



  



 "Cyrus": {



    



 "Skills": {



      



 "Java": "velký"



      



 "PHP", "výborně"



    



 }



    



 "Registry": {



      



 "Přezdívka": "Ci83"



      



 "Jméno": "Cardone"



    



 }



  



 }







 }



V keyspace je "Uživatelé" definováno jako klíč "Cyrus" supercolonne s dvěma "dovednosti" a "registr", z nichž každá obsahuje dvojice klíč / hodnota.

Ve stejné kategorii ...
E-Learning
Linux (kurz) Linux (kurz)
Kompletní průvodce pro open-source systému. Od 49 €.
MySQL (kurz) MySQL (kurz)
Správa open-source databáze. Od 39 €.
PHP (kurz) PHP (kurz)
Celý kurz pro vytváření dynamických webů. Od 49 €.
Sponzorované odkazy