Meteor Sql

screenshot of Meteor Sql

Package to support SQL with Meteor

Overview

Meteor SQL offers an intriguing solution for developers seeking an alternative to MongoDB within the Meteor framework. While still in its initial phase and not yet compatible with the latest versions of Meteor, it has made strides in integrating MySQL functionality, allowing for more flexible database operations. The implementation focuses on managing data effectively while ensuring that changes made to the database are promptly reflected in real-time across subscribed clients.

As MySQL continues to gain traction among developers, this implementation of Meteor SQL provides a fundamental ability to perform conventional SQL operations like select, insert, update, and delete on tables, while also addressing the need for real-time data updates. Though there are limitations, the features presented suggest a promising direction for those looking to utilize SQL within Meteor applications.

Features

  • Full Server-side Support: Execute select, insert, update, and delete operations on tables seamlessly.

  • Real-time Client Updates: All changes in the database are propagated to subscribed clients, emulating a reactive database experience akin to MongoDB.

  • Immediate Change Detection: Changes from other applications are detected and reflected to clients within 100ms, with configurable options for delay.

  • Reactive Joins via Views: Any modifications to underlying tables automatically update the views, ensuring data consistency.

  • Lightweight Implementation: The use of triggers for handling changes means that existing queries do not require extensive modifications.

  • Efficient Polling Mechanism: Polling is conducted on a single indexed table, resulting in very little overhead.

  • Enhanced Query Construction: Integrates with a cleaner query construction library, making it easier for developers to manage SQL statements.

  • Partial Support for Select Statements: While general select statements work correctly, they do not offer a fully reactive experience.