Tarantool: Speeding Up Development With Rust

As you may know, Tarantool supports any programming language that is compatible with C and can be compiled to machine code. Among other things, it is possible to implement stored procedures and modules in Lua and C. Nevertheless, we have already used Rust in two of our projects, and in one of them, we converted the Lua code to Rust entirely, thus achieving a 5x performance improvement in comparison with the Lua version and about the same output as the C version.

I am Oleg Utkin from Tarantool, and my main expertise is in data-intensive storage systems. I will cover the two projects mentioned above and the reason why we find Rust so good — it has long had various bindings for the Tarantool API and for Lua modules writing. For example, you can write Rust code for Tarantool right away, along with stored procedures and third-party modules that can be used without Lua. Are you interested? Then let's roll!

In-Memory Database Architecture: Ten Years of Experience Summarized (Part 1)

An in-memory database is not a new concept. However, it is associated too closely with terms like "cache" and "non-persistent". In this article, I want to challenge these ideas. In-memory solutions have much wider use cases and offer higher reliability than it would seem at a first glance.

I want to talk about the architectural principles of in-memory databases, and how to take the best of the "in-memory world"— incredible performance — without losing the benefits of disk-based relational systems. First of all, how to ensure data safety.

Easy IoT and Device Management for Non-C Coders

If you have an interest in learning how to program microcontrollers for home monitoring DIY projects or looking at developing commercial IoT products, but lack C code experience, look no further. This hands-on tutorial shows how to get your project up and running really fast using a high level language called Lua. You do not need any C experience, and you can easily install the ready to use the microcontroller firmware by following a few instructions.

Lua - easy for kids to learn and also powerful enough for developing professional IoT solutions!

Preemptive Scheduling Coroutine Programming Language

The concept of coroutine must be familiar to everyone now. After all, not only LUA, Go, and Kotlin but also C++ all support coroutines.

But different languages have different implementations. Such as LUA, coroutines will be scheduled when someone called yield() or resume().

Best Practices for Using Maybes and Creating Default Values

Introduction

You’ve learned that using Maybes allows you to get rid of null pointer exceptions (i.e. “undefined is not a function”). However, now your application fails and gives no indication as to why. Errors would have left a stack trace that could have provided a hint as to where the problem originated, but, clearly here, you don't have that to rely on. What should you be doing instead?

Null Pointers in Python vs. Ruby, Lua, and JavaScript

Let’s define what we mean by null pointers and how you usually encounter them. Most null pointers you’ll run into are from either accessing a property of an object to show on the screen or calling a method on an object.