1 / 32

Oracle’s Berkeley DB

Oracle’s Berkeley DB. Νικόλας Εξαρχάκος. Μία embedded database που παρέχει υψηλή απόδοση, αξιοπιστία και προσαρμοστικότητα . Μία non-relational system engine To application χρησιμοποιεί απλά function calls. Μία βιβλιοθήκη που συνδέεται άμεσα με το application.

leone
Download Presentation

Oracle’s Berkeley DB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle’s Berkeley DB Νικόλας Εξαρχάκος

  2. Μία embedded database που παρέχει υψηλή απόδοση, αξιοπιστία και προσαρμοστικότητα. Μία non-relational system engine To application χρησιμοποιεί απλά function calls. Μία βιβλιοθήκη που συνδέεται άμεσα με το application. Δεν είναι ένα client-server architecture. Τι είναι το Oracle’s Berkeley DB

  3. Δημιουργήθηκε και αναπτύχθηκε στο University of California at Berkeley (1986-1994) H έρευνα συνεχίστηκε στο Harvard University. Δημιουργία Sleepycat Software μετά από αίτημα για επέκταση του Berkeley DB (1996). Αγοράστηκε το Φεβρουάριο του 2006 από την Oracle. Ιστορική αναδρομή

  4. Library/Not a language Μικρό μέγεθος Γρήγορη και ασφαλής αποθήκευση Δε χρειάζεται ξεχωριστός server Δε χρειάζεται κάποιος administrator H διεπαφή προγραμματισμού είναι γενική και εύκολη Πολλά APIs (C,C++,Perl,Tcl,Java) Μεγάλα keys/data (μέχρι 2^32 bytes) Είναι open source Πλεονεκτήματα

  5. Δεν είναι εύκολη η επικοινωνία με σχεσιακές βάσεις Δεν υπάρχει SQL interface O προγραμματιστής πρέπει να γνωρίζει επακριβώς τις ανάγκες της εφαρμογής Πρόβλεψη στατικών queries Δυσκολία οταν η εφαρμογή απαιτεί πολλών ειδών queries. Μειονεκτήματα

  6. Εκδόσεις του Berkeley DB • Berkeley DB • Berkeley DB XML • Berkeley DB Java Edition

  7. Download Oracle’s Berkeley DB http://www.oracle.com/database/berkeley-db/index.html Prepare Berkeley DB for compilation cd build_unix ../dist/configure --prefix=/usr --enable-compat185 --enable-cxx Compile the package: Make Install the package: make docdir=/usr/share/doc/db-4.7.25 install Εγκατάσταση Berkeley DB

  8. Εγκατάσταση Berkeley DB

  9. Ίδια διεύθυνση μνήμης με το application. Το Berkeley DB ενσωματώνεται άμεσα στο εκτελέσιμο αρχείο. Δεν υπάρχει ένας ξεχωριστός server (embedded). Υποστήριξη χιλιάδων ταυτόχρονων threads. Έλεγχος ταυτοχρονίας,επαναφερσιμότητα. Το Berkeley DB είναι μία βιβλιοθήκη

  10. Προσφέρει APIs για insert,update,retrieve και delete. Διαφορετικά interfaces για κάθε ενέργεια, μέσω method calls: open() open the database in a prescribed fashion close() closes the database put() puts a record in database get() gets record from database del() deletes a record from the database Το Berkeley DB δεν είναι query language

  11. Το format ενός record σε μια σχεσιακή βάση εξυπηρετεί τη βάση δεδομένων. Δεν εξυπηρετεί την εφαρμογή. Αν θέλουμε να μετακινήσουμε δεδομένα από και προς τη βάση τότε: Η εφαρμογή πρέπει να μεταφράζει ανάμεσα στο format του record της εφαρμογής και της βάσης δεδομένων. Το Berkeley DB χρησιμοποιεί το Application’s Data Model

  12. Ένα record αποτελείται από ένα key και ένα data. Keys και data είναι bit strings μεταβλητού μεγέθους. Οι εφαρμογές καθορίζουν το περιεχόμενο και τη σημασία τους. Το Berkeley DB δε γνωρίζει τίποτα για την εσωτερική δομή των keys/data. To Berkeley DB ενσωματώνει λειτουργίες των hash functions για τα keys. Keys/data αποθηκεύονται σε απλές δομές(DBTs). Key/data pairs

  13. DBT

  14. Indexing

  15. Πολλοί χρήστες δε χρειάζεται να ξέρουν πως να κάνουν administration μια βάση. Όλες οι εργασίες του administration γίνονται μέσω των Berkleys DB APIs. Οι χρήστες δε γνωρίζουν ότι το Berkeley DB είναι μέρος των συστημάτων που χρησιμοποιούν. Δε χρειάζεται administration

  16. Τροποποίηση του μεγέθους των pages/cache. Buffer replacement policy. Policies για duplicate keys στα tables. Ενεργοποίηση ταυτοχρονίας,locking και transactions. Μηχανισμοί εντοπισμού και αποφυγής του deadlock κ.α. Η παραμετροποίηση γίνεται σύμφωνα με τις ανάγκες του application. Υψηλή παραμετροποίηση

  17. Messaging Storage Systems Switching and Routing Logging Caching για Scalable Web Applications Devices Δυνατότητες του Berkeley DB

  18. Environments, Databases and Files

  19. Create/Open/Recover Environment

  20. Create/Open Database

  21. Transaction Read/Modify/Write

  22. Ένα απλό application

  23. Αποθήκευση στοιχείων

  24. Ανάκτηση/Διαγραφή στοιχείων

  25. Κλείσιμο της βάσης

  26. Dynamic data, static queries • Άριστες επιδόσεις με προβλέψιμο data access. • Ιδανικό σε applications, όπου τα queries είναι στατικά. • Οι developers πρέπει να μπορούν να προβλέψουν τα data access της εφαρμογής. • Οι σχεσιακές βάσεις αντίθετα, είναι πολύ καλές στο να απαντούν νέα queries.

  27. Σύγκριση σχεσιακών,embedded και Berkeley DB

  28. Συνεργασία σχεσιακής και embedded

  29. Δημιουργία embedded βάσεων από ένα RDBMS. Συγχρονισμός με τον γονέα RDBMS. Εντοπισμός, που μια εφαρμογή θα εξυπηρετούνταν καλύτερα από μία embedded βάση. Μελλοντικές εκδοχές

  30. Συμπεράσματα • Γρήγορο αξιόπιστο και αποδοτικό για ένα πλήθος εφαρμογών σήμερα. • Μία ενδιάμεση λύση μεταξύ μιας πολύπλοκης σχεσιακής βάσης και ενός low-level file system. • Χρησιμοποιεί ένα πολύ απλό και προσαρμόσιμο σχεδιασμό και παρέχει τα storage services μίας σχεσιακής βάσης • Το “small-footprint” του Berkeley DB είναι ένα σημαντικό πλεονέκτημα στον περιορισμένο κόσμο των καταναλωτικών συσκευών.

  31. Βιβλιογραφία • http://www.oracle.com/database/berkeley-db/index.html • Α Comparison of Berkeley DB and Relational Databases • How Berkeley DB Fits into Oracle’s Overall Embedded Database Strategy • http://en.wikipedia.org/wizi/Berkeley_DB • http://www.accu-usa.org/2001-08.html • http://pybsddb.sourceforge.net/reftoc.html

  32. Τέλος • Ευχαριστώ για την προσοχή σας! • ΑΠΟΡΙΕΣ; • ΕΡΩΤΗΣΕΙΣ;

More Related