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 είναι ένας γενικός όρος για τους διαφορετικούς τρόπους αποθήκευσης μη σχεσιακών δεδομένων και μπορεί να ερμηνευθεί ως "μη-SQL", "μη-σχεσιακό" ή "όχι μόνο SQL". Αυτοί οι τύποι συστημάτων βάσεων δεδομένων μπορούν να κατηγοριοποιηθούν σε 4 τύπους.
Πηγή από Michał Białecki Blog
Οι βάσεις δεδομένων key-value συνδυάζουν μοναδικά κλειδιά, τα οποία είναι μοναδικοί αναγνωριστικοί αριθμοί που συνδέονται με μια τιμή. Αυτά τα ζεύγη αποθηκεύονται χρησιμοποιώντας έναν πίνακα κατακερματισμού με μια κατάλληλη συνάρτηση κατακερματισμού.
Πηγή από Microsoft
Οι βάσεις δεδομένων γραφήματος περιγράφουν σχέσεις στα δεδομένα και αναπαρίστανται ως συλλογή κόμβων και ακμών. Ένας κόμβος αντιπροσωπεύει μια οντότητα, κάτι που υπάρχει στον πραγματικό κόσμο, όπως ένας φοιτητής ή μια τραπεζική δήλωση. Οι ακμές αντιπροσωπεύουν τη σχέση μεταξύ δύο οντοτήτων. Κάθε κόμβος και ακμή έχουν ιδιότητες που παρέχουν επιπλέον πληροφορίες.
Οι βάσεις δεδομένων στήλης οργανώνουν δεδομένα σε στήλες και γραμμές όπως μια σχεσιακή δομή δεδομένων, αλλά κάθε στήλη διαιρείται σε ομάδες που ονομάζονται οικογένειες στηλών, όπου όλα τα δεδομένα κάτω από μία στήλη σχετίζονται και μπορούν να ανακτηθούν και να αλλάξουν ως μία μονάδα.
Βάσεις Δεδομένων Εγγράφων με το Azure Cosmos DB
Οι βάσεις δεδομένων εγγράφων βασίζονται στην έννοια μιας βάσης δεδομένων 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
Το ερώτημα επιστρέφει δύο έγγραφα. Παρατηρήστε ότι η τιμή age για κάθε έγγραφο είναι μικρότερη από 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) και δημιουργήστε ένα id για το κοντέινερ.
- Ορίστε το partition key σε
/id
. - Κάντε κλικ στο OK (μπορείτε να αγνοήσετε τις υπόλοιπες πληροφορίες σε αυτήν την προβολή, καθώς πρόκειται για ένα μικρό σύνολο δεδομένων που εκτελείται τοπικά στον υπολογιστή σας).
- Ανοίξτε το νέο σας κοντέινερ και ανεβάστε το αρχείο Twitter Data με το κουμπί
Upload Item
.
Προσπαθήστε να εκτελέσετε μερικά ερωτήματα SELECT για να βρείτε τα έγγραφα που περιέχουν τη λέξη Microsoft στο πεδίο text. Υπόδειξη: δοκιμάστε να χρησιμοποιήσετε τη λέξη-κλειδί LIKE.
Μετά-Διάλεξης Κουίζ
Ανασκόπηση & Αυτομελέτη
-
Υπάρχουν πρόσθετες μορφοποιήσεις και δυνατότητες που έχουν προστεθεί σε αυτό το υπολογιστικό φύλλο, τις οποίες αυτό το μάθημα δεν καλύπτει. Η Microsoft διαθέτει μια μεγάλη βιβλιοθήκη τεκμηρίωσης και βίντεο για το Excel, αν ενδιαφέρεστε να μάθετε περισσότερα.
-
Αυτή η αρχιτεκτονική τεκμηρίωση περιγράφει τα χαρακτηριστικά των διαφορετικών τύπων μη σχεσιακών δεδομένων: Μη Σχεσιακά Δεδομένα και NoSQL.
-
Το Cosmos DB είναι μια βάση δεδομένων που βασίζεται στο cloud και μπορεί επίσης να αποθηκεύσει τους διαφορετικούς τύπους NoSQL που αναφέρονται σε αυτό το μάθημα. Μάθετε περισσότερα για αυτούς τους τύπους σε αυτό το Cosmos DB Microsoft Learn Module.
Εργασία
Αποποίηση Ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.