Arnia-Cubrid - Programatica2010

  • 1,416 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,416
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CUBRID
    For Your Web Services
  • 2. 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
  • 3. 1. What is CUBRID?
  • 4. 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
  • 5. 1.1 History
    • CUBRID’s Agility Catches the Functionality!
    CUBRID
    • CUBRID Cluster
    Cluster
    R3.2
    • MySQL Compatibility
    R3.1
    R3.0
    • HA Feature
    • 6. Hierarchical Query
    R2.0
    R1.0
    MySQL
    5.5
    5.4
    5.1
    5.0
    4.1
    4.0
    3.23
    2003
    2001
    2002
    2004
    2005
    2006
    2007
    2008
    2009
    2010
  • 25. 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
    • 26. 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
  • 27. 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
  • 28. 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
  • 29. 2. CUBRID’s Features
    For Web Services
  • 30. 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
  • 31. 2.1 High Availability
    • Automatic node failure detection and Automatic Failover
    • 32. Separate Failover on M/S Brokers and M/S DB Servers
    Application Servers
    (with CUBRID Interface)
    Broker
    Failover
    Server
  • 33. 2.2 Table Partitioning
    • Table Partitioning by Hash, Range, List- Enterprise Feature supported by Oracle EE only
    • 34. 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
  • 35. 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
    • 36. Increased READ Performance for the Same Pattern Query
    Result Cache
    Plan
    Cache
    JDBC
    ResultSet Cache
  • 37. 2.4 Scalability for LOB data
    • Unlimited Scalability for Large Objects with Distributed File System
    • 38. 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
  • 39. 3. CUBRID’s Performance
    For Web Services
  • 40. 3.1 Benchmark - Read
    • Hot-spot Read Test for Small and Medium-sized Services
    • 41. 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
  • 42. 3.2 Benchmark - Index
    • Index Scan Test on a Table with 1,000,000 Records
    • 43. 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
  • 44. 4. CUBRID Apps & Tools
  • 45. 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
  • 46. 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/
  • 47. 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/
  • 48. 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)
  • 49. 5. Contributors & Developers
  • 50. 5.1 Sourceforge - open project
    Open development process
    • All tickets are online
    • 51. All contributors can participate in the development process
    • 52. All tickets are open to the community
  • 5.2 Online Specs and User Docs
  • 53. KEY POINTS
    1. Open Source Project
    2. High Availability and Scalability
    3. Powerful sponsor assure continuity
    Thank you for your time!
    ciprian@arnia.ro