Arnia-Cubrid - Programatica2010
Upcoming SlideShare
Loading in...5
×
 

Arnia-Cubrid - Programatica2010

on

  • 1,687 views

 

Statistics

Views

Total Views
1,687
Views on SlideShare
1,654
Embed Views
33

Actions

Likes
0
Downloads
15
Comments
0

1 Embed 33

http://www.agora.ro 33

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Arnia-Cubrid - Programatica2010 Arnia-Cubrid - Programatica2010 Presentation Transcript

  • CUBRID
    For Your Web Services
  • Content
    Ciprian Badescu, managing director Arnia Software, development and globalization partner for CUBRID
    What is CUBRID?
    CUBRID’s Features for Web Services
    CUBRID’s Performance for Web Services
    CUBRID Apps & Tools
    Contributors & Developers
  • 1. What is CUBRID?
  • 1.1 History
    • Fast Growing and Evolving DBMS
    - Over 10 Official Releases over last 2 years
    - Over 90,000 downloads Achieved (Korea, US, Romania, Japan)
    - Over 1,500 monthly downloads via sourceforge.net
    Oct. 2010 CUBRID R3.0 with MySQL Compatibility
    Feb. 2010 CUBRID on Sourceforge.net
    Aug. 2009 CUBRID R2.0 with HA feature
    Nov. 2008 CUBRID R1.0 &
    Open Source Project Launched
    Jan. 2007.01 CUBRID Development
    sponsored by naver.com
  • 1.1 History
    • CUBRID’s Agility Catches the Functionality!
    CUBRID
    • CUBRID Cluster
    Cluster
    R3.2
    • MySQL Compatibility
    R3.1
    R3.0
    • HA Feature
    • Hierarchical Query
    R2.0
    • Views
    • Triggers
    • Stored Procedure
    • AUTO_INCREMENT
    • Query Plan Cache
    • Query Result Cache
    • Replication
    • Partitioning
    • Click Counter
    R1.0
    MySQL
    5.5
    5.4
    5.1
    5.0
    • Views
    • Triggers
    • Stored Procedures
    • AUTO_INCREMENT
    • Query Cache
    • Replication
    • Full Text Indexing
    • Partitioning
    • Event scheduler
    • MySQL Cluster
    • XML Functions
    4.1
    4.0
    3.23
    2003
    2001
    2002
    2004
    2005
    2006
    2007
    2008
    2009
    2010
  • 1.2 Roadmap
    • CUBRID’s Definite Roadmap to be optimized for Web Services
  • 1.3 CUBRID Architecture
    • 3-tier Architecture for High Performance and Scalability
    • Various Interfaces and Easy Management Tool Available
    Interfaces
    CUBRID Manager GUI Tool
    ODBC
    OLEDB
    JDBC
    PHP
    CCI
    Python
    Ruby
    Brokers
    CUBRID
    Manager
    Server
    Connection Pooling
    Job Queuing
    Monitoring/
    Logging
    Query Parser Optimizer
    Lock
    Caching
    Transaction
    Manager
    Object Manager
    Database Server
    Utilities
    (Backup/Restore/
    Compact/Check/
    Lock..)
    Lock
    Manager
    Query
    Manager
    Storage Manager
    Log
    Manager
  • 1.4 Key Features
    High Performance
    Multi-threaded server: Multi-CPUs optimization
    Broker Middleware: Connection pooling
    Cost-Based Optimizer(CBO)
    Query Plan Cache, Query Result Cache
    Key-range Indexing
    Logging: Group commit, Async-commit, Background archiving
    Scalability
    Multi-volumes, Multi-threaded server
    1:N Replication
    Table partitions
  • 1.4 Key Features
    Real-time Backup/Restore
    On-line Backup
    Parallel, Compressed Backup
    Incremental Backup (Full, Level1, Level2)
    Replication and High Availability
    Transaction based Replication
    Broker Duplication, DB Duplication
    Node Monitoring and Automatic fail-over
  • 2. CUBRID’s Features
    For Web Services
  • 2.1 High Availability
    • Can Handle Sudden Increase of Traffic
    + 5000 visits/sec.
    similar requests
    Sends only one query to the server
    30 visits/sec.
    +5000 visits/sec.
    Due to article quote
    1 optimized request
    Combines similar requests
    Low server
    usage
  • 2.1 High Availability
    • Automatic node failure detection and Automatic Failover
    • Separate Failover on M/S Brokers and M/S DB Servers
    Application Servers
    (with CUBRID Interface)
    Broker
    Failover
    Server
  • 2.2 Table Partitioning
    • Table Partitioning by Hash, Range, List- Enterprise Feature supported by Oracle EE only
    • READ Performance Increased by Directly Accessing the Partitioned Table
    READ
    WRITE
    Table
    Table
    Table
    Table_p1
    Table_p1
    Table_p1
    Table_p2
    Table_p2
    Table_p2
    Table_p3
    Table_p3
    Table_p3
    DATABASE
  • 2.3 Faster Query Processing
    • READ Count by executing SELECT and UPDATE at the same time
    Fast & Cheap Lock
    SELECT title, INCR(read_count) FROM bbs WHERE id = ?
    _____ ____ _____ ___ __
    SELECT article FROM bbs WHERE id = ?;
    UPDATE bbs SET read_count = read_count + 1 WHERE id = ?;
    Long & Expensive Lock
    • Server-side Cache for Query Plan and Query Result with Client-side Cache
    • Increased READ Performance for the Same Pattern Query
    Result Cache
    Plan
    Cache
    JDBC
    ResultSet Cache
  • 2.4 Scalability for LOB data
    • Unlimited Scalability for Large Objects with Distributed File System
    • Enable using a Single Interface for Multiple Storages
    INSERT INTO T1 VALUES(col1,col2, content, image);
    CUBRID Broker
    {col1, col2}
    {content, image}
    CUBRID Server
    Owfs
    File Replica
    File Replica
    File Replica
    DB
    DB
    DB
    File Replica
    File Replica
  • 3. CUBRID’s Performance
    For Web Services
  • 3.1 Benchmark - Read
    • Hot-spot Read Test for Small and Medium-sized Services
    • CUBRID Read Performance is in 2nd place with less CPU usage
    Y: PV/sec
    Y: CPU usage
    * Testscenario and configurations can be found at http://www.cubrid.org/benchmark_result
  • 3.2 Benchmark - Index
    • Index Scan Test on a Table with 1,000,000 Records
    • Key Range & Filtered Index Scan is Much Faster than MySQL 5.1
    SELECT name, address FROM member
    WHERE age>=60 and grade=‘A’ and address LIKE ‘%Bucharest%’;
    Y: Time
    Y: Time
    * The testhas been conducted by Performance Engineering Team in NHN
  • 4. CUBRID Apps & Tools
  • 4.1 Easy Management Tools
    CUBRID Manager
    Database management Tool (JAVA)
    Equivalent of Microsoft Enterprise Manager for MSSQL
    CUBRID Web Query
    Database management Tool (PHP&AJAX)
    The equivalent of phpMyAdmin for MySQL
  • 4.2 Publishing platforms - CMS
    Joomla!
    Download:
    http://sourceforge.net/projects/cubrid/files/Applications%20for%20CUBRID/Joomla/Joomla_1.5.20-CUBRID-RC-Full-Package.zip/download
    Demo site:
    http://joomla.cubrid.org
    Wordpress
    Download:
    http://sourceforge.net/projects/cubrid/files/Applications%20for%20CUBRID/WordPress/CUBRID%20R3.x%20%2B/wordpress-cubrid-2.9.2.2.zip/download
    Demo site:
    http://wordpress.cubrid.org/
  • 4.3 Community platforms
    phpBB
    Download:
    http://sourceforge.net/projects/cubrid/files/Applications%20for%20CUBRID/phpBB/CUBRID%20R3.x%20%2B/phpbb-cubrid-3.0.1.zip/download
    Demo site:
    http://phpbb.cubrid.org
    MediaWiki
    Download:
    http://sourceforge.net/projects/cubrid/files/Applications%20for%20CUBRID/MediaWiki/CUBRID%20R3.x%20%2B/mediawiki-cubrid-1.15.2.zip/download
    Demo site:
    http://mediawiki.cubrid.org/
  • 4.4 Demo site for all Apps & Tools
    • http://demo.cubrid.org – Demo portal for all Applications & Tools
  • Appendix – Useful Links
    CUBRID Introduction
    CUBRID User Site (http://cubrid.org)
    CUBRID Blog (http://blog.cubrid.org)
    Interview (http://opensourcebuzz.technetra.com/2010/06/21/meet-cubrid-one-of-koreas-top-open-source-projects/)
    Animation (http://www.youtube.com/watch?v=c574-rBsdMg)
    CUBRID Dev-Projects
    CUBRID Engine and Tools (http://sourceforge.net/projects/cubrid/)
    CUBRID Cluster (http://sourceforge.net/projects/cubridcluster/)
    CUBRID Interfaces (http://sourceforge.net/projects/cubridinterface/)
    CUBRID Documentation
    CUBRID Wiki (http://wiki.cubrid.org/index.php/Main_Page)
    CUBRID Manual (http://www.cubrid.org/manual/)
    CUBRID Video Tutorials
    YouTube CUBRID Channel (http://www.youtube.com/cubrid#g/u)
    CUBRID Apps and Tools
    APIs and Applications on top of CUBRID (http://www.cubrid.org/apps_and_tools)
  • 5. Contributors & Developers
  • 5.1 Sourceforge - open project
    Open development process
    • All tickets are online
    • All contributors can participate in the development process
    • All tickets are open to the community
  • 5.2 Online Specs and User Docs
  • KEY POINTS
    1. Open Source Project
    2. High Availability and Scalability
    3. Powerful sponsor assure continuity
    Thank you for your time!
    ciprian@arnia.ro