Big Data

For South Korea's largest Internet company, we developed an in-house DBMS to replace costly Oracle, SQL Server, and MySQL licenses and better target the Korean/Asian markets. This project led to the creation of CUBRID, an open-source relational database system now used by over 100 organizations across diverse sectors.

Learn more about IT Outsourcing to Romania

The business challenge

Big Data

The beneficiary of our services is South Korea’s largest Internet company, operating the country top search portal. The company is fully committed to pioneering state-of-the-art technologies based on their continued research and investment in core development.

Many internal services were using Oracle, SQL Server, MySQL. The recurring licensing and support cost was too high. Plus there was a need of DBMS targeted on Korean/Asian markets. So the client decided to make an in-house DBMS.

The project’s first stable release dates back to October, 2008. Our team has joined in Jan 2009 and has been working continuously on the project since then. Over 100 organizations in Korea are now using CUBRID as their database management system.

Having a huge range of usability (web apps, commercial, banking, defence) CUBRID is an open source relational database management system that successfully competes with MySQL, PostgreSQL, MariaDB and other similar open source products.

Our solution

Our team involvement covered extending the database engine functionality (server, brokers and drivers), and improving the database stability, performance and scalability by proposing and implementing new features.

Top features developed included in the latest release are:

  • Snapshot Isolation & Multiple-Version Concurrency Control
Big Data
  • Improved performance and scalability (lock-free hash table, lock-free circular queues, improved index access using page latch promotion, fixed IO flush rate issues, and other)
  • Support TIMEZONE data types and functionsSupport TIMEZONE data types and functions
  • Support BINARY charset for string types
  • Support SYSTEMTAP for dynamic tracing and performance analysis
  • Many other small features & fixes (the entire list in release notes)

Notable features developed from previous release are:

  • Hierarhical queries
  • Internationalization support
  • Analytic functions
  • MERGE statement
  • Support JOIN for UPDATE and DELETE statements
  • Support ENUM type
  • Support Function-based and Filtered Indexes
  • Index Skip Scan optimization
  • Stability and performance of Partitioned Table Feature and PROMOTE statement
  • Support SELECT FOR UPDATE statement
  • Add schema locks
  • Many other features, performance improvement tasks and fixes (all changes in release notes for 9.0, 9.1, 9.2 and 9.3)

Team setup

We embrace Agile methodologies in most of our projects. Many times it is our customers and partners who ask us to use Agile methodologies (ScrumKanban) from the inception of the project. When the choice is left to our engineers, we carefully analyze the project specifics, and we propose a project management methodology based on Scrum or Kanban which best fits the specific project needs and context.

Our team has joined in 2009 and has been continuously working on the project since then. The team consists in 10 R&D engineers specialized in advanced algorithms and data structures.

Using the Agile/Scrum methodology, we work in iterations of 2-3 months, we have weekly planning sessions and review and we use Jira as planning tool.

Architecture & Technologies

Architecture

  • CUBRID has a 3-tier architecture which consists of the Database Server, the Broker, and the CUBRID Manager
  • Database Server is the core component of the CURBID DBMS, which saves and manages data in a multi-threaded client/server architecture
  • Broker is a CUBRID-specific middleware that relays the communication between the Database Server and external applications. It provides functions including connection pooling, data caching, monitoring, and log tracing and analysis
  • CUBRID Manager is a GUI tool that manages database and broker. It also provides a Query Editor to execute SQL queries on the Database Server

Technologies

  • C/C++ for server, broker and database utilities
  • Java, C#, Python, Perl, PHP & many others for drivers
  • Github for subversioning
  • The project is open-source and can be found here: https://github.com/CUBRID/cubrid
Arnia Software has consolidated its position as a preferred IT outsourcing company in Romania and Eastern Europe, due to its excellent timely delivery and amazing development team.

Our services include:

Nearshore with Arnia Software
Software development outsourcing
Offshore Software Development
Engagement models
Bespoke Software Development
Staff Augmentation
Digital Transformation
Mobile App Development
Banking Software Solutions
Quality Assurance
Project Management
Open Source
Nearshore Development Centre
Offshore Development Centre (ODC)
Unity Development