..


Σύνδεσμοι διαφημιζόμενων

Χρήση με Cassandra PHPCassa

Το άρθρο γράφτηκε από τον Ciro Cardone
Σελίδα 1 από 4

Ο σκοπός αυτού του άρθρου είναι να δείξει πώς να χρησιμοποιήσετε Κασσάνδρας στην PHP εφαρμογές μας.
Κασσάνδρα είναι ένα έργο στο Facebook με στόχο την αποδέσμευση από την MySQL για την αποθήκευση μηνυμάτων στα Εισερχόμενα.

Cassandra ανήκει στην οικογένεια των προϊόντων nosql, δηλαδή εκείνες λύσεις λογισμικού που αποθηκεύουν δεδομένα χρησιμοποιώντας SQL σύνταξη και η έννοια της σχέσης, έτσι δεν είναι RDBMS, αλλά μια κατανεμημένη βάση δεδομένων, έχουν σχεδιαστεί για να λειτουργούν σε ένα σύμπλεγμα και να διαχειρίζονται μεγάλα ποσά δεδομένων. Αντί να χρησιμοποιεί τις έννοιες του πίνακα, οι πλειάδες και η σχέση, Κασσάνδρα χρησιμοποιεί στήλη προσέγγιση προσανατολισμένη στην εφαρμογή μέσω της χρήσης του κατακερματισμού και της Array, το οποίο αποθηκεύει τις πληροφορίες με τη μορφή {κλειδί: τιμή}.

Πώς αναπτύχθηκε

Κασσάνδρα είναι τώρα ένα έργο Apache αναπτύχθηκε java6 ως εκ τούτου εντελώς φορητό, έχοντας μόνο την υποχρέωση να εγκαταστήσει ένα JRE.

Cassandra Έργου

Τα κύρια χαρακτηριστικά της Κασσάνδρας είναι:

  1. Αποκέντρωσης: η βάση δεδομένων είναι η κατανομή τους στο ίδιο κόμβο στο σύμπλεγμα. Υπάρχουν σημεία συμφόρησης στο δίκτυο, ή break point.
  2. Ελαστικότητα: η διακίνηση για read / write αυξάνεται γραμμικά με την προσθήκη νέων μηχανημάτων (κόμβοι) στο σύμπλεγμα χωρίς downtime ή αναστάτωση στους εφαρμογές.
  3. Ανοχή σφαλμάτων: Τα δεδομένα αντιγράφονται αυτόματα στα γόνατα. Έχει υποστήριξη για την αναπαραγωγή των πολλαπλών κέντρων δεδομένων. Το αποτυχημένο κόμβοι μπορεί να αντικατασταθεί χωρίς downtime.
  4. «Αντοχή» Κασσάνδρα είναι σχεδιασμένο για εφαρμογές όπου η απώλεια δεδομένων είναι κρίσιμη και θα πρέπει να πέσει ακόμα και όταν ολόκληρο το κέντρο δεδομένων λύνει το πρόβλημα της απώλειας των δεδομένων μέσω ενός μηχανισμού συγχρονισμού με βάση commitlog.
  5. Ευελιξία: Μπορείτε να επιλέξετε την ενημερωμένη έκδοση για κάθε στρατηγική για να διορθώσει την κατάσταση, η αναπαραγωγή μπορεί να είναι σύγχρονη ή ασύγχρονη.

Για να πάρετε όλα αυτά τα οφέλη, ωστόσο, οι προγραμματιστές έπρεπε να εγκαταλείψει τη διαχείριση των συναλλαγών.

Το μοντέλο δεδομένων

Οι στήλες (στήλη) είναι το χαμηλότερο επίπεδο οργάνωσης των δεδομένων στην Κασσάνδρα, οι πλειάδες που περιέχουν ένα όνομα, μια τιμή και μια χρονική σήμανση. Είναι συχνά εκπροσωπούνται ως παράδειγμα το συμβολισμό JSON:






 {



  



 "Name": "Όνομα",



  



 "Αξία": "Cyrus"



  



 "Timestamp": 123456789







 }



Το όνομα και η αξία είναι συστοιχίες των bytes που διοργανώνονται ως UTF-8 χορδές. Το ζευγάρι κλειδιού / τιμής είναι "ετικέτες" με μια χρονική σήμανση. Κασσάνδρα χρησιμοποιεί το timestamp για να δείτε ποια είναι η πιο πρόσφατη τιμή (θυμηθείτε ότι μιλάμε για ένα σύμπλεγμα) και στη συνέχεια τη διαχείριση των συγκρούσεων.

Η στήλη στήλη είναι οργανωμένοι σε οικογένειες, τα οποία είναι παρόμοια με έναν πίνακα σε μια σχεσιακή βάση δεδομένων. Μια οικογένεια στήλη περιέχει μια διατεταγμένη λίστα των στηλών που μπορεί να αναφέρεται από το όνομά τους. Κάθε οικογένεια στήλη αποθηκεύεται σε ξεχωριστό αρχείο και το αρχείο είναι διατεταγμένα σε σειρές (γραμμές).

Οι οικογένειες στήλη με τη σειρά τους ομαδοποιούνται σε keyspaces, συνήθως ένα ανά αίτηση. Λιγότερο χρησιμοποιούνται είναι superColumns, ειδικές στήλες που περιέχουν μέσα τους άλλες στήλες.

Το τυπικό μέγεθος του 4-Κασσάνδρα είναι επομένως ως εξής:

 



 Keyspace -> Οικογενειακά Στήλη -> Στήλη Row Οικογένεια -> Στήλες -> Αξίες

 
Σε περίπτωση που προσθέτουμε το SuperColumns:
 



 Keyspace -> Στήλη Σούπερ Οικογενειακό -> Οικογενειακά Σούπερ Στήλη Row -> Στήλες Super -> Στήλες -> Αξίες

 

Αυτή είναι η εκπροσώπηση JSON ενός απλού σημειογραφία:






 Οι χρήστες {



  



 "Cyrus": {



    



 "Ψευδώνυμο": "Ci83"



    



 "Name": "Cardone"



  



 }







 }



και ένα πιο σύνθετο supercolumns χρήσεις





 Οι χρήστες {



  



 "Cyrus": {



    



 «Δεξιότητες»: {



      



 "Java": "Μεγάλη"



      



 "PHP", "Excellent"



    



 },



    



 «Μητρώο»: {



      



 "Ψευδώνυμο": "Ci83"



      



 "Name": "Cardone"



    



 }



  



 }







 }



Σε keyspace "Χρήστες" ορίζεται ως βασικό "Cyrus" supercolonne με δύο «δεξιότητες» και «Μητρώο» καθένα από τα οποία περιέχει ζεύγη κλειδιού / τιμής.

Στην ίδια κατηγορία ...
E-Learning
Linux (Μάθημα) Linux (Μάθημα)
Πλήρης οδηγός για την open-source σύστημα. Από 49 €.
MySQL (Μάθημα) MySQL (Μάθημα)
Διαχείριση του open-source βάση δεδομένων. Από 39 €.
PHP (Μάθημα) PHP (Μάθημα)
Η πλήρης σειρά μαθημάτων για τη δημιουργία δυναμικών ιστοσελίδων. Από 49 €.
Σύνδεσμοι διαφημιζόμενων