NOs QL
NOs QL
INTRODUCTION
• NoSQL provides other options for organizing data in many ways. By offering diverse data
structures, NoSQL can be applied to data analytics, managing big data, social networks, and
mobile app development.
• A NoSQL database manages information using any of these primary data models:
• Key-value store
• Document store
• Wide-column store
• Graph store
• In-memory store
WHEN TO CHOOSE A NOSQL DATABASE?
• With businesses and organizations needing to innovate rapidly, being able to stay agile
and continue operating at any scale is the name of the game. NoSQL databases offer
flexible schemas and also support a variety of data models that are ideal for building
applications that require large data volumes and low latency or response times—for
example, online gaming and ecommerce web applications
WHEN NOT TO CHOOSE A NOSQL DATABASE?
• Each type of NoSQL database has strengths that make it better for specific use cases.
However, they all share the following advantages for developers and create the framework
to provide better service customers, including:
• Cost-effectiveness: It is expensive to maintain high-end, commercial RDBMS. They require the
purchase of licenses, trained database managers, and powerful hardware to scale
vertically. NoSQL databases allow you to quickly scale horizontally, better allocating resources
to minimize costs.
• Flexibility: Horizontal scaling and a flexible data model also mean NoSQL databases can address
large volumes of rapidly changing data, making them great for agile development, quick
iterations, and frequent code pushes.
• Replication: NoSQL replication functionality copies and stores data across multiple servers.
This replication provides data reliability, ensuring access during down time and protecting
against data loss if servers go offline.
• Speed: NoSQL enables faster, more agile storage and processing for all users, from developers
to sales teams to customers. Speed also makes NoSQL databases generally a better fit for
modern, complex web applications, e-commerce sites, or mobile applications.
• The structure and type of NoSQL database you choose will depend on how your organization plans
to use it. Here are some specific uses for various types of NoSQL databases.
• Managing data relationships: Managing the complex aggregation of data and the relationships between
these points is typically handled with a graph-based NoSQL database. This includes recommendation
engines, knowledge graphs, fraud detection applications, and social networks, where connections are made
between people using various data types.
• Low-latency performance: Gaming, home fitness applications, and ad technology all require high
throughput for real-time data management. This infrastructure provides the greatest value to the consumer,
whether that’s market bidding updates or returning the most relevant ads. Web applications require in-
memory NoSQL databases to provide rapid response time and manage spikes in usage without the lag that
can comes with disk storage.
• Scaling and large data volumes: E-commerce requires the ability to manage huge spikes in
usage, whether it’s for a one-day sale or the holiday shopping season. Key-value databases are
frequently used in e-commerce applications because its simple structure is easily scaled up
during times of heavy traffic. This agility is valuable to gaming, adtech, and Internet of Things
(IoT) applications.
NOSQL DATABASE CHALLENGES
• NoSQL databases offer a number of benefits, but that doesn’t mean they are magical. There are several potential
downsides that you should keep in mind when choosing a database for your application.
• Data model complexity
While the flexible data model of NoSQL databases is often a selling point, it can also become a major issue if an
engineering team isn’t disciplined. It can result in issues coordinating on how the data model should look and
where data should be located. It can also result in conflicting data or duplicate data.
• Complex transaction support
For some applications where data reliability for advanced transactions is needed, NoSQL might not make sense.
Most NoSQL databases will provide some form of simple transaction support, but not ACID transactions. And
often for NoSQL DBs that do offer ACID transactions, enabling them will result in losing promised performance
gains.
• Maturity
While popular relational databases like MySQL and Postgres are battle tested due to having
been around for decades, many NoSQL projects aren’t as mature. This can result in obscure
bugs, less community support, and the tool ecosystem being less robust.
• Data consistency
Database performance follows CAP theorem, which means you can only have 2 out of 3 when
it comes to Consistency, Availability, or Partition tolerance. Most NoSQL databases sacrifice
consistency to get better performance in other areas, which means you should only use this
type of database for use cases where eventual consistency is acceptable.