23 KiB
Εργασία με Δεδομένα: Μη Σχεσιακά Δεδομένα
![]() |
---|
Εργασία με Δεδομένα NoSQL - Σκίτσο από @nitya |
Προ-Διάλεξης Κουίζ
Τα δεδομένα δεν περιορίζονται μόνο σε σχεσιακές βάσεις δεδομένων. Αυτό το μάθημα επικεντρώνεται στα μη σχεσιακά δεδομένα και θα καλύψει τα βασικά των υπολογιστικών φύλλων και του NoSQL.
Υπολογιστικά Φύλλα
Τα υπολογιστικά φύλλα είναι ένας δημοφιλής τρόπος αποθήκευσης και εξερεύνησης δεδομένων, καθώς απαιτούν λιγότερη προετοιμασία για να ξεκινήσετε. Σε αυτό το μάθημα θα μάθετε τα βασικά στοιχεία ενός υπολογιστικού φύλλου, καθώς και τύπους και συναρτήσεις. Τα παραδείγματα θα παρουσιαστούν με το Microsoft Excel, αλλά τα περισσότερα μέρη και θέματα θα έχουν παρόμοια ονόματα και βήματα σε σύγκριση με άλλα λογισμικά υπολογιστικών φύλλων.
Ένα υπολογιστικό φύλλο είναι ένα αρχείο και θα είναι προσβάσιμο στο σύστημα αρχείων ενός υπολογιστή, συσκευής ή συστήματος αρχείων που βασίζεται στο cloud. Το ίδιο το λογισμικό μπορεί να είναι βασισμένο σε πρόγραμμα περιήγησης ή μια εφαρμογή που πρέπει να εγκατασταθεί σε υπολογιστή ή να κατεβεί ως εφαρμογή. Στο Excel, αυτά τα αρχεία ορίζονται επίσης ως βιβλία εργασίας και αυτή η ορολογία θα χρησιμοποιηθεί για το υπόλοιπο του μαθήματος.
Ένα βιβλίο εργασίας περιέχει ένα ή περισσότερα φύλλα εργασίας, όπου κάθε φύλλο εργασίας φέρει ετικέτα με καρτέλες. Μέσα σε ένα φύλλο εργασίας υπάρχουν ορθογώνια που ονομάζονται κελιά, τα οποία περιέχουν τα πραγματικά δεδομένα. Ένα κελί είναι η τομή μιας γραμμής και μιας στήλης, όπου οι στήλες φέρουν αλφαβητική σήμανση και οι γραμμές αριθμητική. Ορισμένα υπολογιστικά φύλλα περιέχουν επικεφαλίδες στις πρώτες γραμμές για να περιγράψουν τα δεδομένα σε ένα κελί.
Με αυτά τα βασικά στοιχεία ενός βιβλίου εργασίας Excel, θα χρησιμοποιήσουμε ένα παράδειγμα από τα Microsoft Templates που επικεντρώνεται σε ένα απόθεμα για να εξετάσουμε περισσότερα μέρη ενός υπολογιστικού φύλλου.
Διαχείριση Αποθέματος
Το αρχείο υπολογιστικού φύλλου με όνομα "InventoryExample" είναι ένα μορφοποιημένο υπολογιστικό φύλλο αντικειμένων σε ένα απόθεμα που περιέχει τρία φύλλα εργασίας, όπου οι καρτέλες φέρουν τις ετικέτες "Inventory List", "Inventory Pick List" και "Bin Lookup". Η γραμμή 4 του φύλλου εργασίας Inventory List είναι η επικεφαλίδα, η οποία περιγράφει την τιμή κάθε κελιού στη στήλη επικεφαλίδας.
Υπάρχουν περιπτώσεις όπου ένα κελί εξαρτάται από τις τιμές άλλων κελιών για να δημιουργήσει την τιμή του. Το υπολογιστικό φύλλο Inventory List παρακολουθεί το κόστος κάθε αντικειμένου στο απόθεμά του, αλλά τι γίνεται αν χρειαστεί να γνωρίζουμε την αξία όλων των αντικειμένων στο απόθεμα; Οι τύποι εκτελούν ενέργειες στα δεδομένα κελιών και χρησιμοποιούνται για τον υπολογισμό του κόστους του αποθέματος σε αυτό το παράδειγμα. Αυτό το υπολογιστικό φύλλο χρησιμοποιεί έναν τύπο στη στήλη Inventory Value για να υπολογίσει την αξία κάθε αντικειμένου πολλαπλασιάζοντας την ποσότητα κάτω από την επικεφαλίδα QTY και το κόστος κάτω από την επικεφαλίδα COST. Κάνοντας διπλό κλικ ή επισημαίνοντας ένα κελί θα εμφανιστεί ο τύπος. Θα παρατηρήσετε ότι οι τύποι ξεκινούν με ένα ίσον, ακολουθούμενο από τον υπολογισμό ή τη λειτουργία.
Μπορούμε να χρησιμοποιήσουμε έναν άλλο τύπο για να προσθέσουμε όλες τις τιμές της στήλης Inventory Value για να υπολογίσουμε τη συνολική αξία. Αυτό θα μπορούσε να υπολογιστεί προσθέτοντας κάθε κελί για να δημιουργηθεί το άθροισμα, αλλά αυτό μπορεί να είναι μια κουραστική εργασία. Το Excel διαθέτει συναρτήσεις, ή προκαθορισμένους τύπους για την εκτέλεση υπολογισμών στις τιμές κελιών. Οι συναρτήσεις απαιτούν ορίσματα, τα οποία είναι οι απαραίτητες τιμές που χρησιμοποιούνται για την εκτέλεση αυτών των υπολογισμών. Όταν οι συναρτήσεις απαιτούν περισσότερα από ένα ορίσματα, πρέπει να παρατίθενται με συγκεκριμένη σειρά, διαφορετικά η συνάρτηση μπορεί να μην υπολογίσει τη σωστή τιμή. Σε αυτό το παράδειγμα χρησιμοποιείται η συνάρτηση SUM, η οποία χρησιμοποιεί τις τιμές της στήλης Inventory Value ως ορίσματα για να υπολογίσει το σύνολο που αναφέρεται στη γραμμή 3, στήλη B (επίσης γνωστή ως B3).
NoSQL
Το NoSQL είναι ένας γενικός όρος για τους διαφορετικούς τρόπους αποθήκευσης μη σχεσιακών δεδομένων και μπορεί να ερμηνευτεί ως "non-SQL", "μη σχεσιακό" ή "όχι μόνο SQL". Αυτοί οι τύποι συστημάτων βάσεων δεδομένων μπορούν να κατηγοριοποιηθούν σε 4 τύπους.
Πηγή από Michał Białecki Blog
Οι βάσεις δεδομένων Key-value συνδυάζουν μοναδικά κλειδιά, τα οποία είναι μοναδικοί αναγνωριστές που συνδέονται με μια τιμή. Αυτά τα ζεύγη αποθηκεύονται χρησιμοποιώντας έναν πίνακα κατακερματισμού με μια κατάλληλη συνάρτηση κατακερματισμού.
Πηγή από Microsoft
Οι βάσεις δεδομένων Graph περιγράφουν σχέσεις στα δεδομένα και αναπαρίστανται ως συλλογή κόμβων και ακμών. Ένας κόμβος αντιπροσωπεύει μια οντότητα, κάτι που υπάρχει στον πραγματικό κόσμο, όπως ένας φοιτητής ή μια τραπεζική δήλωση. Οι ακμές αντιπροσωπεύουν τη σχέση μεταξύ δύο οντοτήτων. Κάθε κόμβος και ακμή έχουν ιδιότητες που παρέχουν πρόσθετες πληροφορίες για κάθε κόμβο και ακμή.
Οι βάσεις δεδομένων Columnar οργανώνουν δεδομένα σε στήλες και γραμμές όπως μια σχεσιακή δομή δεδομένων, αλλά κάθε στήλη χωρίζεται σε ομάδες που ονομάζονται οικογένειες στηλών, όπου όλα τα δεδομένα κάτω από μία στήλη σχετίζονται και μπορούν να ανακτηθούν και να αλλάξουν ως μία μονάδα.
Βάσεις Δεδομένων Εγγράφων με το Azure Cosmos DB
Οι βάσεις δεδομένων Document βασίζονται στην έννοια μιας βάσης δεδομένων key-value και αποτελούνται από μια σειρά πεδίων και αντικειμένων. Αυτή η ενότητα θα εξερευνήσει τις βάσεις δεδομένων εγγράφων με τον εξομοιωτή Cosmos DB.
Μια βάση δεδομένων Cosmos DB ταιριάζει στον ορισμό του "Όχι Μόνο SQL", όπου η βάση δεδομένων εγγράφων του Cosmos DB βασίζεται στη SQL για την αναζήτηση δεδομένων. Το προηγούμενο μάθημα για τη SQL καλύπτει τα βασικά της γλώσσας, και θα μπορέσουμε να εφαρμόσουμε ορισμένα από τα ίδια ερωτήματα σε μια βάση δεδομένων εγγράφων εδώ. Θα χρησιμοποιήσουμε τον εξομοιωτή Cosmos DB, ο οποίος μας επιτρέπει να δημιουργήσουμε και να εξερευνήσουμε μια βάση δεδομένων εγγράφων τοπικά σε έναν υπολογιστή. Διαβάστε περισσότερα για τον εξομοιωτή εδώ.
Ένα έγγραφο είναι μια συλλογή πεδίων και τιμών αντικειμένων, όπου τα πεδία περιγράφουν τι αντιπροσωπεύει η τιμή του αντικειμένου. Παρακάτω είναι ένα παράδειγμα εγγράφου.
{
"firstname": "Eva",
"age": 44,
"id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
"_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
"_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
"_attachments": "attachments/",
"_ts": 1630544034
}
Τα πεδία ενδιαφέροντος σε αυτό το έγγραφο είναι: firstname
, id
, και age
. Τα υπόλοιπα πεδία με τις κάτω παύλες δημιουργήθηκαν από το Cosmos DB.
Εξερεύνηση Δεδομένων με τον Εξομοιωτή Cosmos DB
Μπορείτε να κατεβάσετε και να εγκαταστήσετε τον εξομοιωτή για Windows εδώ. Ανατρέξτε σε αυτήν την τεκμηρίωση για επιλογές σχετικά με το πώς να εκτελέσετε τον εξομοιωτή για macOS και Linux.
Ο εξομοιωτής ανοίγει ένα παράθυρο προγράμματος περιήγησης, όπου η προβολή Explorer σας επιτρέπει να εξερευνήσετε έγγραφα.
Αν ακολουθείτε, κάντε κλικ στο "Start with Sample" για να δημιουργήσετε μια δείγμα βάση δεδομένων που ονομάζεται SampleDB. Αν επεκτείνετε το SampleDB κάνοντας κλικ στο βέλος, θα βρείτε ένα κοντέινερ που ονομάζεται Persons
. Ένα κοντέινερ περιέχει μια συλλογή αντικειμένων, τα οποία είναι τα έγγραφα μέσα στο κοντέινερ. Μπορείτε να εξερευνήσετε τα τέσσερα μεμονωμένα έγγραφα κάτω από τα Items
.
Ερωτήματα σε Δεδομένα Εγγράφων με τον Εξομοιωτή Cosmos DB
Μπορούμε επίσης να εκτελέσουμε ερωτήματα στα δεδομένα δείγματος κάνοντας κλικ στο κουμπί νέου SQL Query (δεύτερο κουμπί από τα αριστερά).
SELECT * FROM c
επιστρέφει όλα τα έγγραφα στο κοντέινερ. Ας προσθέσουμε μια where clause και να βρούμε όλους όσους είναι κάτω των 40 ετών.
SELECT * FROM c where c.age < 40
Το ερώτημα επιστρέφει δύο έγγραφα, παρατηρήστε ότι η τιμή ηλικίας για κάθε έγγραφο είναι μικρότερη από 40.
JSON και Έγγραφα
Αν είστε εξοικειωμένοι με το JavaScript Object Notation (JSON), θα παρατηρήσετε ότι τα έγγραφα μοιάζουν με JSON. Υπάρχει ένα αρχείο PersonsData.json
σε αυτόν τον κατάλογο με περισσότερα δεδομένα που μπορείτε να ανεβάσετε στο κοντέινερ Persons
στον εξομοιωτή μέσω του κουμπιού Upload Item
.
Στις περισσότερες περιπτώσεις, τα APIs που επιστρέφουν δεδομένα JSON μπορούν να μεταφερθούν απευθείας και να αποθηκευτούν σε βάσεις δεδομένων εγγράφων. Παρακάτω είναι ένα άλλο έγγραφο, το οποίο αντιπροσωπεύει tweets από τον λογαριασμό Twitter της Microsoft που ανακτήθηκαν χρησιμοποιώντας το Twitter API και στη συνέχεια εισήχθησαν στο Cosmos DB.
{
"created_at": "2021-08-31T19:03:01.000Z",
"id": "1432780985872142341",
"text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
"_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
"_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
"_attachments": "attachments/",
"_ts": 1630537000
Τα πεδία ενδιαφέροντος σε αυτό το έγγραφο είναι: created_at
, id
, και text
.
🚀 Πρόκληση
Υπάρχει ένα αρχείο TwitterData.json
που μπορείτε να ανεβάσετε στη βάση δεδομένων SampleDB. Συνιστάται να το προσθέσετε σε ξεχωριστό κοντέινερ. Αυτό μπορεί να γίνει ως εξής:
- Κάντε κλικ στο κουμπί νέου κοντέινερ στην επάνω δεξιά γωνία
- Επιλέξτε την υπάρχουσα βάση δεδομένων (SampleDB), δημιουργώντας ένα container id για το κοντέινερ
- Ορίστε το partition key σε
/id
- Κάντε κλικ στο OK (μπορείτε να αγνοήσετε τις υπόλοιπες πληροφορίες σε αυτήν την προβολή, καθώς πρόκειται για ένα μικρό σύνολο δεδομένων που εκτελείται τοπικά στον υπολογιστή σας)
- Ανοίξτε το νέο σας κοντέινερ και ανεβάστε το αρχείο Twitter Data με το κουμπί
Upload Item
Προσπαθήστε να εκτελέσετε μερικά ερωτήματα SELECT για να βρείτε τα έγγραφα που περιέχουν τη λέξη Microsoft στο πεδίο κειμένου. Υπόδειξη: δοκιμάστε να χρησιμοποιήσετε τη λέξη-κλειδί LIKE.
Μετά-Διάλεξης Κουίζ
Ανασκόπηση & Αυτομελέτη
-
Υπάρχουν πρόσθετες μορφοποιήσεις και δυνατότητες που έχουν προστεθεί σε αυτό το υπολογιστικό φύλλο, τις οποίες αυτό το μάθημα δεν καλύπτει. Η Microsoft διαθέτει μια μεγάλη βιβλιοθήκη τεκμηρίωσης και βίντεο για το Excel, αν σας ενδιαφέρει να μάθετε περισσότερα.
-
Αυτή η αρχιτεκτονική τεκμηρίωση περιγράφει τα χαρακτηριστικά των διαφορετικών τύπων μη σχεσιακών δεδομένων: Μη Σχεσιακά Δεδομένα και NoSQL
-
Το Cosmos DB είναι μια βάση δεδομένων που βασίζεται στο cloud και μπορεί επίσης να αποθηκεύσει τους διαφορετικούς τύπους NoSQL που αναφέρονται σε αυτό το μάθημα. Μάθετε περισσότερα για αυτούς τους τύπους σε αυτήν τη Μονάδα Εκμάθησης Cosmos DB της Microsoft.
Εργασία
Αποποίηση Ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.