Home > On-Demand Archives > Microtalks >

MySQL as an Embedded Database

Nicolas De Rico - MySQL - Watch Now - Duration: 10:14

MySQL as an Embedded Database
Nicolas De Rico

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.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

cijart
Score: 0 | 3 days ago | 1 reply

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.

Nicolas.MySQLSpeaker
Score: 0 | 1 day ago | no reply

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

Thomas.Schaertel
Score: 0 | 5 days ago | 1 reply

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

Nicolas.MySQLSpeaker
Score: -1 | 1 day ago | 1 reply

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

Thomas.Schaertel
Score: 0 | 1 day ago | no reply

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

DanR
Score: 0 | 2 days ago | no reply

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?

OUR SPONSORS

OUR PARTNERS