0
CUBRID<br />For Your Web Services<br />
Content<br />Ciprian Badescu, managing director Arnia Software, development and globalization partner for CUBRID<br />What...
1. What is CUBRID?<br />
1.1 History<br /><ul><li>Fast Growing and Evolving DBMS</li></ul>- Over 10 Official Releases over last 2 years<br />- Over...
1.1 History<br /><ul><li>CUBRID’s Agility Catches the Functionality!</li></ul>CUBRID<br /><ul><li>CUBRID Cluster</li></ul>...
Hierarchical Query</li></ul>R2.0<br /><ul><li>Views
Triggers
Stored Procedure
AUTO_INCREMENT
Query Plan Cache
Query Result Cache
Replication
Partitioning
Click Counter</li></ul>R1.0<br />MySQL<br />5.5<br />5.4<br />5.1<br />5.0<br /><ul><li>Views
Triggers
Stored Procedures
AUTO_INCREMENT
Query Cache
Replication
Full Text Indexing
Partitioning
Event scheduler
MySQL Cluster
XML Functions</li></ul>4.1<br />4.0<br />3.23<br />2003<br />2001<br />2002<br />2004<br />2005<br />2006<br />2007<br />2...
1.2 Roadmap<br /><ul><li>CUBRID’s Definite Roadmap to be optimized for Web Services</li></li></ul><li>1.3 CUBRID Architect...
Various Interfaces and Easy Management Tool Available</li></ul>Interfaces<br />         CUBRID Manager GUI Tool<br />ODBC<...
1.4 Key Features<br />High Performance<br />Multi-threaded server: Multi-CPUs optimization<br />Broker Middleware: Connect...
1.4 Key Features<br />Real-time Backup/Restore<br />On-line Backup<br />Parallel, Compressed Backup<br />Incremental Backu...
Upcoming SlideShare
Loading in...5
×

Arnia-Cubrid - Programatica2010

1,478

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,478
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Arnia-Cubrid - Programatica2010"

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

    Clipping is a handy way to collect important slides you want to go back to later.

×