ArangoDB blog: latest news from the NoSQL multi-model database

C++ Memory Model: Migrating from X86 to ARM

02ARM, C++, General, x86Tags: , , , , ,

Over the past years, we have seen a shift in processors from the previously dominant x86 architecture to the more energy-efficient (and often cheaper) ARM architecture. This trend is true for both consumer hardware, e.g., Apple’s M1 SoC and also server hardware, e.g. AWS’s Gravitron processor. Given that the ARM architecture has a more relaxed memory model, this might have some subtle impact on C++ programs…

With the introduction of multi-threaded execution in C++11, the standard also introduced a memory model. For many developers, this memory model is one of the least well-understood parts of the C++ standard and a common source of confusion. While an in-depth explanation of the C++ memory model is beyond this blog post’s scope, we will cover some basics and take a brief look at two of the most common hardware memory models and how the C++ memory model maps to these hardware models.

But first, let’s take a step back and consider why we need a memory model in the first place.

More info

January 2021: What’s the Latest with ArangoDB?

00NewsletterTags: ,

Happy New Year to our amazing community!

We hope your year is off to a good start. Even though things don’t seem too different (yet), we’re definitely feeling a fresh mindset and doing our best to stay hopeful and healthy. 

Here’s what we’re excited about so far:

Read on for more!

Read more

ArangoML Series: Multi-Model Collaboration

00ArangoML, General, Graphs, Machine LearningTags: , , ,

Multi-Model Machine Learning

This article looks at how a team collaborating on a real-world machine learning project benefits from using a multi-model database for capturing ML meta-data.

The specific points discussed in this article are how:

  • The graph data model is superior to relational for ML meta-data storage.
  • Storing ML experiment objects is natural with multi-model.
  • ArangoML promotes collaboration due to the flexibility of multi-model.
  • ArangoML provides ops logging and performance analysis.
ArangoML Pipeline Complete pipeline - ArangoDB Machine Learning
More info
ArangoSearch data preprocessing

State of the Art Preprocessing and Filtering with ArangoSearch

00ArangoSearchTags: , , ,

Just in case you haven’t heard about ArangoSearch yet, it is a high-performance Full-Text Search engine integrated in ArangoDB (meaning connected with the other data-models and AQL). Feel free to check out ArangoSearch – Full-text search engine including similarity ranking capabilities for more details.

In ArangoDB version 3.7 the ArangoSearch team added Fuzzy Search support (see the comprehensive article Fuzzy search by Andrey Abramov). With Fuzzy Search data preprocessing and filtering becomes even more important. In the upcoming ArangoDB 3.8 release, ArangoSearch efforts will be focused on improving this part. In this post I’m going to uncover some of the new features we are proud to present. 

More info

ArangoDB is Open Source

We code transparently on Github.
Support & join us there
Become a Stargazer