Cubrid - Open Source DBMS highly optimized for Web Applications


Published on

Published in: Technology, Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Good morning dear ladies and gentlemen! Also, I would like to notify you that this is an updated version of the presentation. So, several slides will be different. However, if you have any questions, I will be glad to answer you after the presentation. Today I came here to introduce you a powerful database solution that will help you increase your server performance, provide non-stop service to your loyal users, and finally it will help you to decrease your overall expenses.
  • Today I will talk about CUBRID. CUBRID is an Open Source Free DBMS. Here I would like to emphasize on the fact that CUBRID is higly Optimized for Web Services.
  • Today you will learn what CUBRID is. Why thousands of enterprise organizations choose CUBRID over other alternatives. Then I will tell you the more specific features of CUBRID and its Interface the CUBRID Manager. I will conclude my presentation by giving some real world examples about the famous web applications that are already compatible with CUBRID. And the way how you may contact us.
  • So, what is CUBRID? Before we go on, let me ask you a short question: have you ever heard about CUBRID before you came to this conference? You are very lucky to be here and listen my presentation. I will tell you about CUBRID.
  • Simply put, CUBRID is a DBMS. It belongs to our parent company, which is called NHN Corporation. It is the largest IT company in South Korea with the largest knowledge assets. Most people know it as a Google of Korea. CUBRID is fully functional Database Server Engine. It is a proven technology which has been developed for over 15 years and consists of more than 1,000,000 lines of code. Currently CUBRID supports most well-known operating systems and is available in several versions: both for Linux distributions and Microsoft Windows with the support of 32 and 64 bit architecture. However, CUBRID is not just simple DBMS.
  • It’s an Open Source System. We host the source code of CUBRID on one of the well-known Online Open Source Repositories – What does an Open Source software means?
  • A Free software. Anyone can download the executable file or the source code from several dedicated portals: Either from NAVER Development Center Or directly from the Official CUBRID Community sites – or
  • Now since we are familiar with the CUBRID, let me tell you why more than 6,000 Corporate Users prefer CUBRID over other alternative database solutions.
  • The most important reason why - is the one I have already emphasized at the beginning of my presentation: CUBRID is highly optimized for Web Services. DBMSs like CUBRID are usually used on the Internet. And we developed the CUBRID right for that purpose. CUBRID was born to be used on the Internet. Let me give you the more specific reasons.
  • CUBRID has a very unique and powerful feature called Click Counter , which does not exist in any other database systems. It helps to dramatically decrease the workloads of Data Servers, by optimizing the transactions. So how does it work? Assume you have a blogging or bulletin board service. And typically you would like to keep track of how many times a certain article was viewed. It means whenever your web site visitor views an article you have to increment, let’s say, Read_Count field in the database table by 1. Here is how usually the Database systems provide their solutions for this problem. However, the second UPDATE Query generates very Long Lasting and Expensive Lock of the record. Let’s take a look on how CUBRID manages this problem. CUBRID makes only 1 request in order to accomplish this task. It has a built-in Query-Function called INCR() , which allows us to optimize the transaction, thus dramatically decrease the workload of our Data Server. You might wander how important this feature is. It can  make the difference between taking minutes versus hours  to lock the disk and make changes for 50,000 concurrent requests. CUBRID provides very fast and cheap click counter, which allows it to respond twice faster than other database systems.
  • What else is important for Online Services? Assume the similar situation: you have to select a certain article and show it to a visitor. What if there are 50,000 concurrent request to view the same article? If a server processed each request one by one, it would cause very high server overloads. CUBRID has a middle-player called the Broker. All queries pass through the Broker. They are Fragmented and Optimized for faster performance. And once they are optimized, the first query is cashed and sent to the CUBRID Database Server. In response Database Server returns the query results back to the Broker. These results are cached by the CUBRID Broker. From now on every next concurrent request for the same article won’t even bother the data server any more. They will be processed by the Broker, which return to visitors the cached results.
  • Nowadays, one of the hot issues discussed around the Database Systems is the High Availability Feature of a DBMS. And CUBRID supports HA, which means it supports multi-threaded servers and provides multi-CPU optimization. CUBRID’s various optimizations and unique functional features enable it to balance extreme server loads. It is a High-Traffic Proof DMBS. It will make sure your online service is never down for 24 hours and 7 days a week. It will handle any sudden increase of Traffic.
  • Besides, CUBRID, as many other DBMS, enables Java Stored Procedures as well as Partitioning, which is either Range, List or Hash Partitioning.
  • In addition, as a relational database system, CUBRID provides seamless transactions even for high-volume database regardless of the size of databases or the number of tables.
  • CUBRID also supports commonly known in the database industry an ACID property. CUBRID makes sure Atomicity, Consistency, Isolation, and Durability are met in every transaction.
  • Now, let’s take a look at how CUBRID is engineered inside.
  • CUBRID consists of two parts: a client and a server sides. The server side is divided into two separate entities: the database server and the broker. Each has different responsibilities. They communicate through the Object and Transaction Managers. On the server side there are also other utilities like backup or restore managers, and the CUBRID Manager of the Server side. And the Client Side consists of Programming Interfaces and the CUBRID Manager of Client Side. The server side follows the General Public License, while the Client side is under the BSD (Berkeley Software Distribution) License. We developed such a smart License Policy to let the Commercial Organizations receive full benefit from deploying the CUBRID. We do not claim any profit of our users like some other database companies do. It means that if a company develops any client solution they do not need to buy any license or reveal their source code.
  • We tried to optimize the CUBRID as much as possible, taking into account very critical situations. This allowed us to provide a superior performance in comparison with other Open source and Proprietary DBMSs. I would like to show you a graph which we obtained as a result of series of tests that we conducted under the same circumstances, same load, and same data. Here is how different Database systems behaved. Guess which one is the outcome of CUBRID test. As a result of these tests we learnt that CUBRID processes the SELECT queries faster than other well-known Database systems. Blue: MySQL Green: Oracle 11g Black: MSSQL Red: CUBRID
  • In order to provide easy-to-use user experience, CUBRID Development Lab released a CUBRID Manager.
  • It is available for most Operating systems like Windows and various Linux distributions.
  • There is also an Eclipse RCP (Rich Client Platform) and Eclipse Plug-in.
  • CUBRID provides Multi-host Management, Enhanced User Authentication, and Enhanced System Monitoring.
  • I promised you before to give some real world examples about the famous web applications that are already compatible with CUBRID.
  • Here is only some of the software applications which deliver CUBRID DBMS. These Installation Tools deliver a set of LAMP like applications. In our case, let’s say, APMSETUP provides a combination of Apache + PHP + CUBRID. And there are also stand alone web applications which were successfully implemented to work with CUBRID like famous blogging system Wordpress or XpressEngine, a Content Management System.
  • Also we developed our own installation tool which is not only a bundle of Apache + PHP + CUBRID, but other embedded web applications like Wordpress, a bulletin-board system GNUBoard, etc. With CUBRID AppsPack you get everything: Web server, PHP Engine, and fully-armored Database System which is highly optimized for Web Services.
  • CUBRID was first released to the public as an Open Source DBMS in November 2008. Since then we announced three major releases of CUBRID, i.e. v1.0, v2.0, and v2.1. Overall we counted over 70,000 downloads which took place since June 2006. 40,000 of downloads were after CUBRID became an open source database.
  • At the end of April of this year we are going to announce a major bug-fix release of CUBRID DBMS v2.2. Later in May we are planning to release a totally new version of CUBRID DBMS v3.0, which will bring in significant improvements to the core system. Most importantly, CUBRID 3.0 will provide full MySQL Compatibility as well as migration tools. Since then any former MySQL user can change their database solution to CUBRID. In order to start using CUBRID, a user is not required to learn a new syntax and new functions. With MySQL Compatibility feature you can develop your database as if you are running a MySQL instance – same syntax, same functions. Of course, if you would like to be learn how to improve your database performance and become an expert in CUBRID, you’d better check its key features and how to implement them.
  • Currently there are over 6,000 active installations counted within Korea only. Most of our references belong to the governmental sector, more specifically 2/3 of all clients are governmental organizations.
  • Now, let me summarize what we went over today in our presentation about a powerful database solution – CUBRID.
  • First, we are proud to tell that we provide our Database solution for free. And we have an Open Source Community consisting of thousands of developers, who will provide 24/7 professional support and keep you out of troubles. You can use CUBRID on most Operating systems with both 32 and 64 bit architectures. Our enterprise level features consist of an Unlimited Storage, and Unique Click Counter Enhancement, which provides Superior High Performance, and High Availability. Our database is developed to handle Extremely High Traffic Loads. You can find numerous web applications which are fully compatible with CUBRID. With CUBRID you can troubleshoot and maintain your business without stop, which will enable you to serve your loyal customers 24 hours and 7 days a week. If you have now any question related to CUBRID or this presentation overall, I will be very happy to answer you. Meanwhile, here are our contact information.
  • Anytime you can directly contact me or send an email to other departments of CUBRID.
  • Cubrid - Open Source DBMS highly optimized for Web Applications

    1. 1. Catalin Ciobanu Globalization Team, CUBRID CO., LTD. <ul><li>Presenter: </li></ul>Wednesday, July 14, 2010
    2. 2. Open Source DBMS Optimized for Web Services
    3. 3. Contents <ul><li>What is CUBRID? </li></ul><ul><li>Why CUBRID? </li></ul><ul><li>CUBRID Insight </li></ul><ul><li>CUBRID Manager </li></ul><ul><li>Web Applications </li></ul><ul><li>CUBRID Contacts </li></ul>
    4. 4. What is CUBRID?
    5. 5. Database Management System What is CUBRID? Linux 32bit Linux 64bit Windows 32 bit Windows 64 bit DBMS database
    6. 6. Open Source Project What is CUBRID?
    7. 7. Free Software What is CUBRID?
    8. 8. Why CUBRID?
    9. 9. CUBRID is Optimized for Web Services Why CUBRID?
    10. 10. Click Counter Why CUBRID? Optimized for Web Services <ul><ul><li>Other DBMS </li></ul></ul><ul><ul><li>SELECT article FROM bbs WHERE id = 123; </li></ul></ul><ul><ul><li>UPDATE bbs SET read_count = read_count + 1 WHERE id = 123; </li></ul></ul><ul><ul><li>CUBRID </li></ul></ul><ul><ul><li>SELECT article , INCR(read_count) FROM bbs WHERE id = 123; </li></ul></ul>Long & Expensive Lock Fast & Cheap Lock Web Services Click Counter
    11. 11. Hotspot Read (Caching) Why CUBRID? Optimized for Web Services N = 50,000 Query Fragmentation & Optimization Query Results Caching Query Requests Caching CUBRID DB Broker Web Services Click Counter Hotspot Read (Caching) Article 34 Article 34
    12. 12. High Availability Why CUBRID? Optimized for Web Services <ul><li>Multi-threaded server </li></ul><ul><li>Multi-CPU optimization </li></ul><ul><li>Extreme Load Balancing </li></ul><ul><li>High Traffic Proof </li></ul><ul><li>Non-stop Service for 24 Hours and 7 Days! </li></ul><ul><li>Can Handle Sudden Increase of Traffic! </li></ul>Web Services Click Counter Hotspot Read (Caching) HA (High Availability)
    13. 13. JSP & Partition Why CUBRID? Optimized for Web Services <ul><ul><li>Range Partition </li></ul></ul><ul><ul><li>List Partition </li></ul></ul><ul><ul><li>Hash Partition </li></ul></ul>Web Services Click Counter Hotspot Read (Caching) HA (High Availability) Java Stored Procedures Partition
    14. 14. Unlimited Storage Why CUBRID? Optimized for Web Services <ul><ul><li>Multi-volume DB </li></ul></ul><ul><ul><li>Number of DB, table and size: Unlimited </li></ul></ul><ul><ul><li>Number of column: 6,400 </li></ul></ul><ul><ul><li>Size of column: 2GB </li></ul></ul><ul><ul><li>Number of indices: 6,400 </li></ul></ul>
    15. 15. ACID Support Why CUBRID? Optimized for Web Services Atomicity Consistency Durability Isolation ACID
    16. 16. CUBRID Insight
    17. 17. CUBRID Architecture & License CUBRID Insight BSD GPL v2 or higher Database Server Storage Manager Lock Manager Log Manager Brokers Connection Pooling Monitoring/ Logging Job Queuing Interfaces ODBC OLEDB JDBC PHP CCI Python Ruby Transaction Manager Object Manager Query Manager CUBRID Manager Server Utilities (Backup / Restore / Compact / Check / Lock) CUBRID Manager Client (GUI) Query Parser Optimizer Lock Caching Client Server
    18. 18. Superior Performance DBMS CUBRID Insight <ul><li>Features of BBS Apps </li></ul><ul><li>Read count updates </li></ul><ul><li>Hotspot Reads </li></ul>1 PV = 4~7 Queries Level 1: 101,000 articles Level 2: 602,000 articles Optimized for Web Services
    19. 19. CUBRID Manager
    20. 20. CUBRID Manager CUBRID Insight
    21. 21. CUBRID Manager CUBRID Insight
    22. 22. CUBRID Manager CUBRID Insight
    23. 23. CUBRID Web Applications
    24. 24. CUBRID Web Applications Web Applications Tools for Windows Installation Tools APC_Install-tools Tools for windows Tools for Linux Applications CMS Blog BBS EC BBS Dev Platform Blog Blog
    25. 25. CUBRID AppsPack Web Applications + + + + BBS Blog
    26. 26. Free Software: Download Trend Web Applications * Total downloads: over 70,000 since June 2006 Open Source DBMS CUBRID 2008 Release 1.0 Open Source DBMS CUBRID 2008 Release 2.0 Open Source DBMS CUBRID 2008 Release 2.1
    27. 27. CUBRID: MySQL Compatibility <ul><li>End of April, 2010 – CUBRID 2008 R2.2 </li></ul><ul><ul><li>a major bug-fix release </li></ul></ul><ul><li>End of July, 2010 - CUBRID 2008 R3.0 </li></ul><ul><ul><li>significant improvements of the core system </li></ul></ul><ul><ul><li>MySQL Compatibility + Migration Tools </li></ul></ul>Web Applications
    28. 28. CUBRID References Web Applications
    29. 29. Summary
    30. 30. CUBRID Key Notes 32 bit & 64 bit Version Unlimited Storage High Performance Summary Click Counter Free Open Source Numerous Web Applications System Maintenance without Service Stop Load Balancing 24/7 Service & Support High Availability
    31. 31. Contact CUBRID?
    32. 32. CUBRID Contacts CUBRID.Sales [email_address] CUBRID.Education [email_address] CUBRID.Support [email_address] CUBRID.Marketing [email_address] CUBRID Contacts Cubrid Team [email_address]
    33. 33. References <ul><li>CUBRID Co., Ltd. Corporate Web Site. </li></ul><ul><li>, </li></ul><ul><li>CUBRID Open Source Project at </li></ul><ul><li> </li></ul><ul><li>CUBRID Open Source Project at Naver Development Center. </li></ul><ul><li> </li></ul><ul><li>CUBRID on Facebook. </li></ul><ul><li> </li></ul><ul><li>CUBRID on Twitter. </li></ul><ul><li> </li></ul>* All materials provided in this presentation are copyrighted by CUBRID Co., Ltd.