Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert...
-
Upload
kierra-mix -
Category
Documents
-
view
223 -
download
3
Transcript of Derby Java basert Database + C-JDBC clustering databases Copyright? Noe av materiellet er kopiert...
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.
Aktiviteter
• Sesjon ”Introducing Derby”• Sesjon ”Building highly available
database applications with derby”
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.
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
Derby liten men bra• Derby er et full sql database
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
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
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
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.
Internet
• Database tier should be– scalable
– highly available
– without modifying the client application
– database vendor independent
– on commodity hardware
Motivations
JDBC
JDBCJDBC
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,
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
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
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
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
Lucene
Aktiviteter
• Sesjon introduksjon til lucene• Sesjon Building Print-on-DemandSolutions with Cocoon, Lucene and
FOP
Hva er Lucene??
• High performance, full-featured text search engine
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
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.
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
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