1 / 38

NoSQL Databases Oracle - Berkeley DB

NoSQL Databases Oracle - Berkeley DB. Content. A brief intro to NoSQL About Berkeley Db About our application. ???. 3. What is NoSQL?. Stands for N ot O nly SQL Class of non-relational data storage systems

hakan
Download Presentation

NoSQL Databases Oracle - 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. NoSQL DatabasesOracle - Berkeley DB

  2. Content • A brief intro to NoSQL • About Berkeley Db • About our application

  3. ??? 3

  4. What is NoSQL? • Stands for Not Only SQL • Class of non-relational data storage systems • Usually do not require a fixed table schema nor do they use the concept of joins, group by, order by and so on. • All NoSQL offerings relax one or more of the ACID properties.

  5. What is NoSQL ? • Next generation databases • Characteristic: • Large Data Volumes • Non-relational • Distributed • Open-source • Scalable replication and distribution

  6. CAP Theorem

  7. History of NoSQL • The term NoSQL was introduced by Carl Strozzi in 1998 to name his file based database. • It was again re-introduced by Eric Evans when an event was organized to discuss open source distributed databases. 8

  8. Why NoSQL Databases ? • Bigness • Massive write performance • Fast key-value access • Flexible schema and Flexible data types • No single point of failure • Programming ease of use

  9. Scaling to size vs complexity. 12

  10. Berkeley DB - Introduction • An open-source, embeddedtransactionaldata management system. • A key/value store. • Runs on everything from cell phone to large servers. • Distributed as a library that can be linked directly into an application. • Berkeley DB has high reliability and high performance.

  11. Berkeley DB Product Family Architecture

  12. Berkeley DB: The Design Philosophy • Provide mechanisms without specifying policies. • For example, Berkeley DB is abstracted as a store of <key, value> pairs. • Both keys and values are opaque byte-strings. • Berkeley DB has no schema. • Application that embeds Berkeley DB is responsible for imposing its own schema on the data.

  13. Data Access Services • Indexing methods • B-Tree • Hash • Queue • A record-number-based index

  14. Advantages of <key, value> pairs • An application is free to store data in whatever form is most natural to it. • Objects (like structures in C language) • Rows in Oracle, SQL Server • Columns in C-store • Different data formats can be stored in the same databases.

  15. Data Management Services • Concurrency • Transactions • Recovery

  16. Berkeley DB Applications • Local Directory Access Protocol • Mail Servers • Manage access control lists • Store user keys in a public-infrastructure • Record machine-to-network address mappings in address servers

  17. Berkeley DB for Computationally Intensive Algorithms • Algorithms that repeatedly execute a computationally intensive operation • E.g. Factorial • Useful to create a cache containing the already computed results • Cache = Set of <key,value> pairs containing <n, factorial(n)> • Advantages: • avoid to re-compute results for the same input (even over different executions) • In a process crash, we can still start again the process and quickly go back to the point where it stopped

  18. In memory map • Simple • Very efficient (b/s in completely memory) • Need considerable amount of memory • No fault tolerance (We need to manually save data to a file) • Relation Databases • ACID properties may not be necessary • Cannot handle Big data • Slow • NoSQL databases (Berkeley DB) • Fast key-value access • Flexible schema and Flexible data types • Ease of use • Fault tolerance

  19. Berkeleydb.java

  20. Open Environment: • EnvironmentConfig class specify environment configuration parameters • Open Class Catalog: • Class catalog : specialized database store that contain java class descriptions of all serialized objects stored in the database • Create Database and StoredClassCatalog object

  21. Open Database: • Close Environment, Class Catalog and Databases:

  22. DBViews.java

  23. Factorial.java

  24. Factorial (Berkeley DB ) – Memory Usage

  25. Factorial (MySQL) – Memory Usage

  26. Factorial (HashMap) – Memory Usage

More Related