Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert...

22
Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen. Vi forstår det slik at den er Copyrighta med Apache- lisensen, det vil si at vi er fri til å gjøre nesten hva vi vil med den. Vi legger ingen flere begrensninger til denne, så dere er fri til å bruke innholdet her etter eget ønske, men kom ikke og klag hvis det går dere ille, for vi fraskriver oss

Transcript of Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert...

Page 1: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Derby

Java basert Database+

C-JDBC clustering databases

Copyright?Noe av materiellet er kopiert fra presentasjonen som ble

distribuert på CD fra konferansen. Vi forstår det slik at den er Copyrighta med Apache-lisensen, det vil si at vi er fri til å

gjøre nesten hva vi vil med den. Vi legger ingen flere begrensninger til denne, så dere er fri til å bruke innholdet her etter eget ønske, men kom ikke og klag hvis det går

dere ille, for vi fraskriver oss selvsagt alt ansvar for bruk og misbruk av innholdet.

Page 2: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Aktiviteter

• Sesjon ”Introducing Derby”• Sesjon ”Building highly available

database applications with derby”

Page 3: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Litt DERBY historikk• Derby History• Cloudscape Inc, an Oakland, California start-up, was

founded in 1996 to develop Java database technology. The first release of the database engine, then called JBMS, was in 1997. Subsequently the product was renamed Cloudscape and releases were made about every six months. In 1999 Informix Software, Inc., acquired Cloudscape, Inc. In 2001 IBM acquired the database assets of Informix Software, including Cloudscape. The database engine was re-branded to IBM Cloudscape and releases continued, mainly focussing on embedded use with IBM's Java products and middleware. In August 2004 IBM contributed the code to the Apache Software Foundation as Derby, an incubator project sponsored by the Apache DB project.

Page 4: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Hva er Derby

• Et liten java databasey tdatabase• Or • Client/Server Mode

– Industry standard DRDA over TCP/IP

– Uses embedded JDBC driver against Derby

– It’s a Java DRDA to JDBC converter

Page 5: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Derby liten men bra• Derby er et full sql database

Page 6: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Hvem kan bruker Derby

• Standards– SQL

– – SQL92, SQL99, SQL2003, SQL/XML– Java

– J2SE 1.3, 1.4; JDBC 2.0 & 3.0; J2EE – JDBC driver 3 for J2EE 1.4 & 1.

• Guidelines – Less than 50Gb of data• Guidelines – 100-500 updates per second

Page 7: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Hvem kan bruker Derby

• Guidelines – 20-30 Active Connections• 20-30 connections concurrently

executing SQL statements• 20-30 is a typical number for an

application server• connection pool• Connections are limited by memory, • low overhead per connection

Page 8: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Hvorfor derby

• Billig …Gratis• Utvikler kan ha hele db på egen

maskin• Lav admin• Kan ble ”clustered”• Kan eksporters til andre DB.• Flytting av DB er lett

Page 9: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

C-JDBC

• C-JDBC is a free open source database cluster middleware that allows any Java application (standalone application, servlet or EJB container, ...) to transparently access a cluster of databases through JDBC(tm). The database is distributed and replicated among several nodes and C-JDBC balances the queries among these nodes. C-JDBC handles node failures and provides support for checkpointing and hot recovery.

Page 10: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Internet

• Database tier should be– scalable

– highly available

– without modifying the client application

– database vendor independent

– on commodity hardware

Motivations

JDBC

JDBCJDBC

Page 11: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Så hvorfor C-JDBC

• No modification of existing applications or databases,

• High availability provided by advanced RAIDb technology,

• Performance scalability with unique load balancing and query result caching features,

• Integrated JMX-based administration and monitoring,

Page 12: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Så hvorfor C-JDBC

• 100% Java implementation allowing portability across platforms,

• ”All” JDBC DB’s supported• Open source licensed under LGPL, • Professional support, training and

consulting available

Page 13: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Derby

C-JDBC driver

Java client program

(Servlet, EJB, ...)

Derby

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

Derby JDBC driver

Derby JDBC driver

Recovery Log

Authentication Manager

Derby

Database Backend

Connection Manager

Derby JDBC driver

Virtual Database• gives the view of a single

database• establishes the mapping

between the database name used by the application and the backend specific settings

• backends can be added and removed dynamically

• configured using an XML configuration file

Page 14: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Derby PostgreSQL

C-JDBC Controller

Derby JDBC driver

PostgreSQL JDBC driver

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC Controller

JGroups

DerbyPostgreSQL

Derby JDBC driver

PostgreSQL JDBC driver

Controller replication• Prevent the

controller from being a single point of failure

• Group communication for controller synchronization

• C-JDBC driver supports multiple controllers with automatic failover

jdbc:c-jdbc://node1:25322,node2:12345/myDB

Page 15: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Some Cons

• JDBC only• Distributed joins• Out parameters for stored

procedures • Some JDBC 3.0 extensions• XA support through XAPool only• network partition/reconciliation not

supported

Page 16: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Lucene

Page 17: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Aktiviteter

• Sesjon introduksjon til lucene• Sesjon Building Print-on-DemandSolutions with Cocoon, Lucene and

FOP

Page 18: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Hva er Lucene??

• High performance, full-featured text search engine

Page 19: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Hva er Lucene??

• Doug Cutting– recognized information retrieval expert– – Xerox PARC – publications & patents– – Apple's Advanced Technology Group – V-

Twin– – Excite– – Grand Central– – Lucene– – Nutch

Page 20: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Hva er Lucene??

• Lucene is a text search engine API.

• Specifically, Lucene is the guts of a search engine - the hard stuff.

• You write the easy stuff, the UI and the process of selecting and parsing your data files to pump them into the search engine, yourself.

Page 21: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Under the hood• API

– Java – main implementation– ports to other languages

• Index File Format– Well documented– Resides on filesystem, RAM, or custom store

• Features– incremental indexing as fast as batch indexing– ranked searching -- best results returned first– sorting by any field– many powerful query types– fielded searching (e.g., title, author, contents)– date-range searching– multiple-index searching with merged results

Page 22: Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert fra presentasjonen som ble distribuert på CD fra konferansen.

Powered by Lucene• Eclipse IDE - uses Lucene for searching its documentation• Wikipedia• TheServerSide• Let's compare it• Blogdigger - search engine for blogs and syndicated

content• USAjobs Inc. Job Search - job search engine• Nutch - open-source web search engine• Zoe - email search engine• jGuru• Jive Forums• • ... and many others• – shhhh, lots of top secret stuff too