Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Ζωγραφάκης Ιωάννης.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Ζωγραφάκης Ιωάννης."— Μεταγράφημα παρουσίασης:

1 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Ζωγραφάκης Ιωάννης

2 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων What is Derby??? Derby is a relational database implemented completely in Java. It has a small footprint that allows it to be easily embedded into any Java application.

3 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων History Lesson Cloudscape Inc.founded in 1996 to develop Java database technology The first release called JBMS (1997) Renamed Cloudscape Bought by Informix software Inc.(1999) Bought by IBM (2001),IBM’s Java products and middleware used.

4 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων History Lesson IBM contributes code to Apache Software Foundation… Renamed DERBY !!! Sun joins the Derby project Sun packaged Derby in the JDK (6/12/2006) as JavaDB IBM announced marketing and support withdrawal for the Cloudscape product (3/2007)

5 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Derby Advantages Derby has a small footprint– About 2 megabytes for the base engine and embedded JDBC driver. Derby is based on the Java, JDBC, and SQL standards. Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution. Derby is easy to install, deploy, and use. Databases are easily transferable to other systems.

6 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Derby architecture: Embedded

7 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Derby architecture: Client-server

8 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων C:\> set DERBY_INSTALL=C:\Apache\db-derby-10.4.1.3-bin C:\> set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;. C:\> cd %DERBY_INSTALL%\bin C:\Apache\db-derby-10.4.1.3-bin\bin> setEmbeddedCP.bat java org.apache.derby.tools.sysinfo Install μέσω... tutorial

9 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων ij is an interactive SQL scripting tool that comes with Derby IJ

10 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Example of java example running

11 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Netbeans-JavaDB

12 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Netbeans-JavaDB

13 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων public class University { private static String dbURL = "jdbc:derby://localhost:1527/university2;create=true;user=gianninos;password=*** ***"; private static String tableName = "COURSE"; // jdbc Connection private static Connection conn = null; private static Statement stmt = null; public static void main(String[] args) { createConnection(); insertCourse("EPL323", "Compilers", "P.Trancoso","Computer-Science"); selectCourse(); shutdown(); } Java code

14 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων private static void insertCourse(String id, String title, String professor,String department) { try { stmt = conn.createStatement(); stmt.execute("insert into " + tableName + " values ('" + id + "','" + title + "','" + professor + "','" + department +"')"); stmt.close(); } catch (SQLException sqlExcept) { sqlExcept.printStackTrace(); } Java code

15 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων private static void selectCourse() { try { stmt = conn.createStatement(); ResultSet results = stmt.executeQuery("select * from " + tableName); ResultSetMetaData rsmd = results.getMetaData(); int numberCols = rsmd.getColumnCount(); for (int i=1; i<=numberCols; i++) { //print Column Names System.out.print(rsmd.getColumnLabel(i)+"\t\t"); } System.out.println("\n-------------------------------------------------"); while(results.next()) { String id = results.getString(1); String title = results.getString(2); String professor = results.getString(3); String department = results.getString(4); System.out.println(id + "\t\t" + title + "\t\t" + professor + "\t\t" + department ); } results.close(); stmt.close(); } catch (SQLException sqlExcept){ sqlExcept.printStackTrace(); } } Java code

16 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Test Configuration

17 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Database Buffer

18 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Performance Tips Use Prepared Statements Avoid Table Scans

19 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Performance Evaluation: MySQL, PostgreSQL and Derby

20 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Database Configurations

21 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Throughput: TPC-B like load

22 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Throughput: Single-record Select

23 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Observations Derby outperforms MySQL on disk-based databases MySQL performs better on small main-memory Databases PostgreSQL performs best on read-only databases, and has lowest throughput on update-intensive databases

24 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Conclusion Ensure the integrity and recoverability of data Portable Good solution for a programmer

25 Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ370-Αρχιτεκτονική υπολογιστών Thanks for your attention THE END!!!! Any questions???


Κατέβασμα ppt "Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Ζωγραφάκης Ιωάννης."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google