Introduction into Databasesystems Databases and Databasesystems created by Thomas Thiel
Development of databases - today databasesystems are the central part of nearly every software-system - while that is a fact the availability, completeness and correctness of the data is so important - in the 60s/70s hierarchical and network databases were used - with the development of databases in the 80s, relation databases become more important - then in the 90s with the upcoming of object oriented programming languages the need of object databases grow - today relational and object oriented databases and a mix of both are market-leading
Apache Derby - is JAVA-based - creates a relational databasemanagementsystem (RDBMS) - is a leightweighted database, which means its original size is very small - input of Derby databases is operation-systems comprehensive ->This means u can create it on an operating system (for e.g. Windows), copy it to another(e.g. Linux) and work with it there - using or creating JAVA-applications you use Java Database Connectivity (JDBC) to address Derby. JDBC is a JAVA- platform having a standardised interface for different producers
MySQL - is open source - uses SQL (Structured query language) -> is a relational databasemanagementsystem (RDBMS) - MySQL Cluster as table-type useable (it means that the whole database is stored in the RAM) -> departed into datanodes (with one master), managementnodes and sqlnodes -> data is replicated between the datanodes -> if one drops out the data is on another cluster - supports many object types (databases, tables, indexes, views, triggers...)
Oracle - can store relational data AND object-relational data - platform-overlapping support for distributed databases - so called Data-Warehouse functionality -> a central datapool getting its input on different resources - a lot of integrated SQL-functions and analyzing functions - Real Application Cluster (RAC), an active/active- Cluster
Berkeley DB - no SQL-interface for the access of stored data (it can be used only as an embedded databasesystem) -> programs using BDB are not restricted how data is stored in a data set - JAVA-edition of BDB can be implemented into a virtual java- machine as a JAR-file - XML interface supports the storage of XML-data - BDB using same adress space as its application where its embedded -> performance advantage to other server-DBMS who have to save the data first to the RAM and then give it to the adress space - replication function for clustering (master/slave-model)
Advantages of each database Apache Derby easy to use/install leightweighted database (hardware requirements not high) not operation system specific
Advantages of each database MySQL store a large amount of data very good performance with a large amount of data a very high availability because of the clustering most popular open source databasesystem
Advantages of each database Oracle available for nearly every operation system a global view to different data resources to make comprehensive analysis (Data Warehouse) a very high availability because of the clustering store a large amount of data
Advantages of each database Berkeley DB a very high availability because of the clustering very easy administration interface for many programming languages (C, C++, JAVA, Python...)