Of course, the Kohezion team thinks online database software is the best tool to create database applications. Non-technical folks who need to handle important data as if they were experts can easily use Kohezion. Our product pairs all the pros of the classic database products with the ease of use of an Excel spreadsheet to offer you a highly customizable yet approachable solution.
When it comes to databases, it’s easy to get lost in the many definitions. If words such as SQL, queries, tables and records make your head spin, I’m here to help you sort it all out. To be able to better understand what is Kohezion and how to create database applications, let’s first tour three other existing solutions: SQL-based database management systems, NoSQL/NewSQL database management systems, and Excel spreadsheets. I’ll first explain what is a database. I’ll then explore what are the main types of databases and database languages available, including the pros and cons for each of them, and examples of how it can be used. I’ll conclude this post explaining what is Kohezion and how it fits in the databases world.
What is a database?
At its simplest expression, a database is a gathering of information, here called data, stored on a server. The data is organized in a way it can easily be retrieved, managed and edited in significant ways by the end-user. The data could be something very simple such as personal information about clients or customers. It could also be inventory, sales, calls or anything anyone needs to track. It’s up to the user to determine what data needs to be aggregated and the format it will take.
When you’re using a database, the data is not stored on your computer’s hard drive but in the cloud on a server, somewhere. Using a database management system (DBMS), calls/queries are made to retrieve the information. This part is called the back-end. To present the data in a consequential way to the user, web developers create a web site and easy to use database applications. This part is called the front-end.
Even if there are many other database models such as hierarchical and network models, the relational database model is the most common. The relational database model was developed in the early 1970’s and it is still the most common model to this day. The data is stored in relations, taking the form of tables made of columns (fields) and rows (records/items). To access and interact with the data contained in a relational database, its user needs to use a relational database management system (RDBMS). The most common language used to query and manage relational databases is SQL (Structured Query Language).
SQL: The Classic
SQL is the language most IT experts use to interact with relational databases. These interactions are called transactions. To be efficient and accurate, transactions must be ACID (atomic, consistency, isolation, durability). Atomic means the transaction is all or nothing. Consistency refers to the fact that the database must remain in a consistent state before and after the transaction. Isolation means all transactions must be independent of one another. Durability refers to the fact that a transaction cannot be undone after the user has been notified of a successful transaction.
The best example I can find to explain SQL and its ACID properties is a banking system. Let’s say I want to transfer funds from my own account to my husband’s. There will be a series of calls or queries made to send the money from one account to the other. All calls must be answered and completed in order for the transaction to be completed. If a call fails, the transaction will not be completed and we’ll both keep our money (atomic). The information in each of our account won’t be affected by the transaction (consistency). Each call made to the database will only be related to our transaction (isolation). Finally, once the transaction is successful, we won’t be able to cancel it (durability).
The best-known RDBMS using SQL to create and query databases are IBM DB2, Oracle, Microsoft Access and MySQL. Examples of SQL-based databases citizens use every day include banking systems, computerized medical records, and online shopping to name just a few.
Pros of SQL
- Well-known language, has been around for over 40 years.
- Great storage solution (servers, not your hard drive!)
- Allows query of the entire database
- Allows relations between tables
- The best solution for structured data and transactional needs
- Can be accessed by many users at the same time
Cons of SQL
- Need for deep expertise of programming skills: steep learning curve
- Poorly designed database calls for poorly managed data
- Some will say that SQL is not easily scaled-out
- Not the best solution when dealing with data growing exponentially (ex. social media)
NoSQL/NewSQL: The Hipsters
NoSQL refers more to what it is not then to what it is. It refers to a language system not using SQL. It is mostly used for unstructured data in situations where the ability of the database to accept (create) or access (get) large amounts of data quickly is required. It offers great flexibility with alternative data models (ex.: non-relational data, unstructured documents). It doesn’t always bother with real-time accessibility to the data as you could be accessing an old version of the data since it was not yet updated. It is much less rigid than the transactional structure of SQL but it can get much messier! It definitely doesn’t respect the ACID properties of SQL. Best known NoSQL systems include MongoDB, Couchbase and Redis.
NewSQL could be referred to as the modern relational databases languages. These are based on the relational database model and the SQL query language but offers better consistency. Some of them offer solid ACID guarantees.
Social media platforms such as Facebook, Twitter or Instagram are the best examples of the use of NoSQL and NewSQL. These require the ability to process astonishing amounts of data very quickly but (mostly) don’t need the ACID properties.
Pros of NoSQL/NewSQL
- Very fast (NoSQL)
- Not requiring fixed table schemas (NoSQL)
- Scales horizontally (NoSQL)
- Stronger consistency (NewSQL)
- Full transactional support possible (NewSQL)
Cons of NoSQL/NewSQL
- Not transactional/ACID (NoSQL)
- Can get messy (NoSQL)
- Not offering as many development tools as SQL (NewSQL)
Excel: Databases or spreadsheets?
Let’s get back to the relational databases. Based on the assumption relational databases take the form of tables made of columns and rows, is Excel a database? If you want a real entertaining discussion, drop this question to a bunch of programmers. I suggest you run in the other direction, as it may get real ugly!
Most of us will agree that even if Excel and its spreadsheets can be extremely useful, they’re not databases. If we look at it objectively, Excel creates spreadsheets. Spreadsheets are in fact tables made of columns and rows. It’s the table format that tends to confuse people into thinking that spreadsheets are relational databases. We already agreed on the fact that databases are used for data management. Spreadsheets don’t go as far and are mostly used for data storage and analysis.
Pros of using Excel
- Ease of use
- Short learning curve
- No programming skills needed
- Perfect for numerical data
- Perfect to manage small pools of data
- Great for data analysis
- Inexpensive solution
Cons of using Excel
- Only one user at a time can update data
- Substantial spreadsheets will eventually become tougher to manage and lead to errors in the data
- One action could break something somewhere without the users realizing it
- Data stored on your computer (hard drive) versus databases (servers)
Where does Kohezion fit in this picture?
Kohezion is an online database software. It pairs all the pros of the classic databases with the ease of use of an Excel spreadsheet to allow you to design database applications. It offers a highly customizable yet easy to use solution. Kohezion’s backend uses the SQL language and allows ACID transactions but doesn’t require its users to use or understand SQL. It is what is called an end-user database as the users are allowed to create their own applications without programming. They can then input data, slice and dice it with the advanced search features, create powerful reports or even link applications together in a one-to-many relationship. It is a very powerful tool to manage data without spending much and without relying on programmers.
Pros of Kohezion
- No programming skills needed
- Easy to learn
- DIY database applications
- Highly scalable
- Transactional, respects the ACID properties
- Can be used by many users at a time
- Offers many features for accessing data (reports, calendars, dashboards, etc.)
- Data stored in the cloud
Cons of Kohezion
- No programming language can be used
- Online only
- End-user database, cannot be used for classic development
I hope this article helped you understand what are databases, database management systems, and languages. You are now better equipped to make an informed decision as to what tool would work best for your data management needs. If you would like to learn more about Kohezion and how you can create your own database applications, please visit our website or book a free 30 minutes meeting with a member of our team. We would love to count you as a satisfied Kohezion user.