Home > On-Demand Archives > Microtalks >
MySQL as an Embedded Database
Nicolas De Rico - MySQL - Watch Now - EOC 2024 - Duration: 10:14
MySQL is a highly favored embedded database, trusted by many of the world’s largest software companies, as well as numerous startups and mid-tier ISVs, to drive their applications, appliances, and devices.
Join this demo to learn how integrating MySQL as an embedded database can enhance three key business metrics—costs, revenue, and risk.
mySQL is a good product in cloud env, it is not clear in this presentation how embedded mySQL will utilize clusters,, and how all reliablity, and performance is kept in restricted embedded space, and it did not persuade me it is performant in an embedded envrionment. I would rather go with specialized solution like ITTIA db - tailored for embedded devikces, and equiped with benchmar results + streaming, etc. Missing benchmarks: how fast embedded mySQL is on MCU, MPU, etc for STMicro and NXP families.
Hello,
Using a cluster of MySQL servers while embedded on an appliance, especially on small devices, may seem unusual. However, I have occasionally seen this done when the application runs in a Kubernetes environment on the appliance. MySQL has a Kubernetes operator that makes creating and managing clusters of MySQL servers very easy. Operations such as version upgrades are much simplified.
Best regards,
Nicolas
Hi Nicolas,
thank you for your presentation. I worked recently on an embedded Linux controller with MySQL as a backend database on device. While this was a cool experience to access a database like working on a desktop PC (with the C connector to the database with all the security possible by database user accounts, SSL etc.), I was wondering how safe this is, as long as the DB is running on a small controller. I normally would use a database on a more sophisticated device with some redundancy, but this adds much more complexity to it (network access, management, cost), and in some applications, this is just unfeasible. It was in fact unclear, if you mean accessing a DB from an embedded device or really within the device itself. Maybe you can shed some light onto this.
Thanks for your talk!
Thomas
Hello Thomas, thank you for watching the presentation and your interest in MySQL!
The typical, non-embedded, method to access MySQL is to use network on port 3306. However, MySQL can be configured to disable network access entirely and instead use file sockets for communications with client applications. When an application connects to MySQL using this method, it passes the file socket name to the connector unless it uses the default MySQL file socket (the default MySQL installation creates a file socket). Of course, this only works for applications that run on the same device as the MySQL server, and they must have adequate file system privileges to access the file socket. MySQL file socket communication features an additional capability to authenticate the database user with their OS username instead of the regular database username/password. This removes the need to manage the database account password, especially how to store it in the client application. The link below has more info on this:
https://dev.mysql.com/doc/refman/8.0/en/socket-pluggable-authentication.html
Nicolas
Hi Nicolas, thank you for your reply. This makes it much clearer, I wasn't aware of the possibility to use file sockets instead of network sockets. That makes it really scalable without changing much!
Thomas
Thank you for this timely presentation. How does MySQL scale downward for embedded use? Specifically, we have use cases for a database in a server less of environment where we’re basically looking for db file access. However we don’t really want the application to have to be aware of the db being in a file on a non networked machine vs accessing a db on a shared file system
Does MySQL provides feathres for merging data from separate instances being brought together in a shared environment? How are conflicting records handled in such a merge?
Hi Nicolas,
Would you kindly share your slides? Thank you.