Choosing the right database: Understanding your options
Denish Patel talks about the continuous advances in storage technologies and the different types of databases available today to help sort them, including Neo4j!
Our world is awash in digital data. Continuous advances in storage technologies, data-collection methods and processing power enable our businesses to capture, aggregate and analyze information from an ever-greater spectrum of sources. The opportunities are endless, but with these opportunities come daunting challenges.
On one hand, the options for assembling the ideal solution for a given data application have never been better; on the other hand, choosing the right components for that solution is ever more confusing and complex.
When collecting requirements, concentrate on what is needed over how the need will be addressed. Focusing on the need rather than creating a requirement for a specific implementation opens the door for other methods that may provide a more optimal solution, particularly if you are forced to trade off between the strengths and weaknesses of various options. With more than 200 choices available, it’s likely that you’ll be able to find one or more databases that are a good fit for your needs. However, given their breadth of features and characteristics, identifying the best match can be complex. Consider the following attributes when comparing databases.
Type of database
From relational database management systems (RDBMS) through specialized graphics, object and columnar databases, many types of databases have evolved to meet a wide range of common and specialized applications. For most applications, the two most important categories are:
SQL RDBMS: Relational databases, the most widely used model, maintain data in a set of separate, related files (tables), and combine elements from these files when needed for queries and reports. Designed primarily to handle structured data, these databases are heavily used for workhorse business applications in areas such as finance, manufacturing and human resources, which use SQL queries to access data maintained in standard record formats. Popular SQL RDBMS examples include PostgreSQL (open source), Oracle, MySQL (also Oracle), SQL Server (Microsoft) and DB2 (IBM).
NoSQL: These databases provide a solution for handling data that is less structured than required for relational databases. Trading query processing flexibility for scalability and performance under different workloads, these databases focus on data storage and are optimized for retrieval and appending operations. These characteristics make NoSQL databases attractive for cloud deployment and Big Data applications. Popular NoSQL database examples (all open source) include MongoDB, CouchDB, Cassandra, Riak, Hadoop, Redis and Neo4j.
Read the Full Article Here.