The client of our services is South Korea’s most prestigious Internet firm, which runs the top search site in the country. The company is committed to advancing future technology based on its continuous research and investment in core development.
A lot of internal services used Oracle, SQL Server, and MySQL. The annual costs for support and licensing were excessive. In addition, there was a demand for DBMS targeted explicitly at the Asian and Korean markets. Therefore, the client chose to develop an internal DBMS.
The first stable release of the project was made available in October 2008. Our team was formed in January 2009 and had been working on the project since. More than 100 companies in Korea use CUBRID to manage their databases. With a wide variety of functionality (web applications, banking, commercial, and defense), CUBRID is an open-source relational database management system that competes with MySQL, PostgreSQL, MariaDB, and similar open-source products.
Our involvement in the team was to extend the functionality of the database engine (server brokers, drivers, and servers) and enhance the stability, performance, and scalability by recommending and implementing new features.
The top features that were developed and that are included in the most recent release include:
Snapshot Isolation & Multiple-Version Concurrency Control
Increased performance and scalability (lock-free hash tables, circular queues that are lock-free enhanced index access via page latch promotion, fixes for IO problems with flush rates, and many more)
- Support for TIMEZONE Data types as well as functions
- Support for BINARY charsets for strings of all types
- Support for SYSTEMTAP active tracing and performance analysis
A variety of other minor features and improvements (the complete list is in the release notes)
Some of the features that can be found in prior releases are:
- Hierarchical queries
- Internationalization support
- Analytical functions
- Statement on MERGE
We are adamant about Agile methods in most instances of our work. Most of the time, our customers and partners want us to implement Agile methodologies (Scrum, Kanban) from the beginning of the work. If our engineers make the decision, we examine the project’s specifics. Then we suggest a project management approach built in Scrum or Kanban most appropriate to the project’s needs and context.
The team formed the project in 2009. The group comprises 10 R&D engineers specializing in cutting-edge algorithmic and information structures.
Employing the Agile/Scrum approach We work in the form of iterations lasting between 2 and 3 months. We hold weekly planning sessions and a review and utilize Jira as a planning tool.
Architecture & Technologies
- CUBRID features a 3-tier structure that consists of the Database Server as well as the Broker as well as the CUBRID Manager
- The database Server is the core part of the CURBED database management system, which manages and manages data within an architecture of multi-threaded clients and servers.
- Broker is a CUBRID-specific middleware that communicates with the Database Server and the external applications. It performs functions like the ability to pool connections, data caching monitoring, analysis of log trace, and analysis.
- CUBRID Manager is a GUI tool to manage databases and brokers. It also includes a Query Editor that can run SQL queries for the Database Server.
- C/C++ to run broker, server, and database utility
- Java, C#, Python, Perl, PHP, and many more for drivers
- GitHub for subversion
- The project is open-source and can be found here https://github.com/CUBRID/cubrid