NoSQL Database

Articles, posts and news about NoSQL database.

Please feel free to browse and read about NoSQL Database in the articles on this page. Take a peek at the upcoming events, see some use cases, read industry reports, or listen to our most recent podcasts.

Get started for free Download or Cloud Hosting

Negative feature response: Automatic attachment compression in RavenDB

Following my previous post, which mentioned that you can save significantly on disk space if you store a plain text attachment using gzip, we go a feature request: Perhaps in future attachments could have built-in compression as well? The answer to that is no, but I thought that it is worth a post to explain […]

When the error is byzantine

In distributed systems, the term Byzantine fault tolerance refers to working in an environment where the other nodes in the system are going to violate the invariants held by the system. Sometimes, that is because of a bug, sometimes because of a hardware issue (Figure 11) and sometimes that is a malicious action. A user […]

Finding a bug with code that isn’t there

A user called us with a strange bug report. He said that the SQL ETL process inside of RavenDB was behaving badly. It would write the data from the RavenDB server to the MySQL database, but then it would immediately delete it. From the MySQL logs, the user showed: 2021-10-12 13:04:18 UTC:20.52.47.2(65396):root@ravendb:[1304]:LOG: execute <unnamed>: INSERT […]

When you want to store, index and search MBs of text inside of RavenDB

A scenario came up from a user that was quite interesting to explore. Let’s us assume that we want to put the Gutenberg Project inside of RavenDB. An initial attempt for doing that would look like this: I’m skipping a lot of the details, but the most important field here is the Content field. That […]

A PKI-less secure communication channel: Using TLS

After spending so much time building my own protocol, I decided to circle back a bit and go back to TLS itself and see if I can get the same thing for it that I make on my own. As a reminder, here is what we achieved: Trust established between nodes in the system via […]

A PKI-less secure communication channel: Implementing the record stream

We now have managed to do a proper handshake and both client and server has a shared key. The client has also verified that the server is who they thought it should be, the server knows who the client is and can lookup whatever authorization such a client is ought to get. The next step […]

A PKI-less secure communication channel: Coding the handshake

After figuring out the design, let’s see what it would take to actually write a secured communication channel, sans PKI, in code. I’m going to use Zig as the language of choice here. It is as low level as C, but so much nicer to work with. To actually implement the cryptographic details, I’m going […]

A PKI-less secure communication channel: The record layer

In the previous post, I talked a lot about the manner in which both client and server will authenticate one another safely and securely. The reason for all the problem is that we want to ensure that we are talking to the entity we believe we do, protect ourselves from man in the middle, etc. […]

NoSQL Database - What is it?

What is NoSQL?

NoSQL Databases were first developed in the early 21st century to pick up where relational databases, first developed in the 1960s, left off. They are known for being non-relational, open-source, distributed, and scalable.

They meet the next level of data load and the new form modern-day data takes. NoSQL database models like the document model enable greater flexibility and shorter release cycles with their schemaless features.

Most NoSQL databases are not fully transactional (ACID), but some like MongoDB and RavenDB are ACID across multiple-documents and throughout the entire database cluster, enabling business applications to use the latest database technology.

Developers use NoSQL databases to process a massive amount of data at high levels of performance. NoSQL database systems go beyond the legacy SQL tabular models to take in unstructured data, which compromise 80% of all data processed.

NoSQL is the go-to database for big data and real-time applications, offering real-time data replication, clustering, and 99.999% availability.

RavenDB Cloud Hosted DBaaS

Spin up a remote database cluster in minutes with RavenDB Cloud.

Try out a Hosted Database as a Service (DBaaS) that covers all of your back-end chores, freeing you up to focus primarily on what to do with your data. Using RavenDB Cloud, you can enjoy all of the features RavenDB offers without having to jump through hoops to get everything set up and secure.

  • Try RavenDB on Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP).
  • Enjoy automatic instance setup, maintenance, and upgrades.
  • Protect your data in transit and at rest with top-level encryption. Maintain your data at all times with automatic failover, data backups, and X.509 authentication and authorization.
  • RavenDB Cloud is available in free, development, and production level tiers. You also can create your own custom plan.
  • Expand your database cluster to every corner of the world. Keep latency low and performance high to all of your users in any location.

Get Started

Advantages of NoSQL

Compared to relational database systems, NoSQL databases can process more data in less time. Document Databases can take in data whole, where SQL versions have to break it down into tables. For each query, they have to put tables back together before serving up the results.

In a distributed database system, this can raise complexity to red levels. A NoSQL database that can take in all the necessary data in a document form keeps things simple, enabling you to scale out and expand your database cluster while managing complexity effectively.

  • A Schemaless database shortens your release cycle, keeping your application truly agile.
  • A NoSQL model lets you get started a lot sooner.
  • A distributed database allows for data replication and assignment failover of backup tasks to reserve nodes, resulting in higher availability.
  • NoSQL databases are ideal for processing unstructured data at high speeds.
  • NoSQL databases are great for business applications that strive to serve the customer as quickly as possible.

NoSQL Database Models

Today’s data comes in different shapes, forms, even platforms. NoSQL databases are for the age of mobile devices and the cloud, where data can come from any location on earth. Newer data models have adapted for these changes to make managing today’s data a snap and to seize the opportunities of today’s information landscape a lot simpler.

Document Database: This model is the most popular among developers. A document database stores hierarchical JSON data. Unlike relational models, there is no impudence mismatch, so this type of NoSQL database maps very well to programming languages’ object graphs. A document database has all the information you need in one place. Adding an index to your documents, along with skipping the step of putting together tables gives you lightning speed database performance.

Graph API: Organize large volumes of data into meaningful patterns to peek into the future. You can track the relationships all your data points have with one another to process, aggregate, and index this new data set in real-time. Graph API has been used effectively for trading algorithms in hedge funds, health care applications, fraud detection, and more.

Key-value store: A type of NoSQL database that stores data in simple key-value pairs. Used for handling lots of small, continuous, and possibly unpredictable reads and writes. Some support more sophisticated data structures, including lists, sets, counters, and maps.

Distributed counters: This data model employs multiple servers to handle the aggregate load. A good NoSQL Database will add numbers without having to lock your system each time it increments. The document itself doesn’t lock because the counter is not technically part of the document. This increases performance by enabling your system to take in all the increments at once.

Achieving ACID Transactions with a NoSQL Database

To achieve the high-performance NoSQL databases aim for, most NoSQL Databases will sacrifice ACID data consistency. Among those that do include fully-transactional features, it comes at a considerable cost to performance.

Some NoSQL databases can give you everything to take in new kinds of data at unprecedented loads while maintaining ACID guarantees and high performance. RavenDB is among the few NoSQL database solutions to offer ACID both across multiple documents and throughout your database cluster while continuing to deliver the high-speed NoSQL databases promise.

Get the best of all worlds for business applications:

  • high performance
  • easy scalability
  • high-availability
  • reduced latency
  • the highest standards of data integrity

RavenDB vs. MongoDB: Which is Better for You?

Over the past ten years, both RavenDB and MongoDB have evolved in their own direction, offering a unique set of answers to today’s data challenges.

See how the top two solutions in the NoSQL Database sector square up to decide which one is right for your next project.

Find out:

  • How well each database prevents data loss
  • How fast is each database
  • How each database protects your data from hacking
  • How easy it is to set up and to use each database
  • How effectively each database replicates and distributes your data
  • How well each database works with current or legacy SQL solutions
  • How many third-party applications each database requires
  • Indexing, caching, aggregating, concurrency, and more…

Grab Yours Now!