GithubHelp home page GithubHelp logo

mycelial / mycelite Goto Github PK

View Code? Open in Web Editor NEW
1.0K 19.0 13.0 193 KB

Mycelite is a SQLite extension that allows you to synchronize changes from one instance of SQLite to another.

Home Page: https://mycelial.com

License: Apache License 2.0

Rust 99.98% C 0.02%
sqlite3 sqlite3-extension database-replication replication

mycelite's Introduction

What is Mycelial?

Mycelial is an open-source software solution that moves data from sources to destinations.

For example, consider an Edge Machine Learning application that stores its information in a local SQLite database.

So, how do you get the information off of your edge device and onto a system where the information can be analyzed?

Well, with Mycelial you can declaratively create data pipelines that move your data from a source system like SQLite, to a destination system like Snowflake.

How does it work?

There are two main components in Mycelial: daemons and a control plane. (Mycelial, Inc. offers a hosted control plane as well! See app.mycelial.com to sign up!)

The daemon is installed and executed on source and destination computers. These daemons will register with the control plane, and they will receive data pipeline specifications from the server.

The control plane offers you a way to set up data pipeline specifications, which move your data from one location to another via the installed daemons. You can set up these data pipelines via a drag-and-drop web interface, or you can add these pipelines via api calls.

Mycelial Canvas gif

Once you've installed Mycelial (daemon[s] and control plane), you can easily begin moving your data from source systems to destination systems of your choosing. Currently Mycelial has connectors for:

  • Postgres
  • SQLite
  • MySQL
  • Kafka
  • Snowflake
  • Amazon Redshift, and
  • File streaming

How do I get started?

Follow our Tutorial to start using Mycelial from the command line.

Watch this short demo:

Mycelial Demo

API

API documentation

Community

License

Mycelial is available under the Apache 2 license.

mycelite's People

Contributors

alexandrinaw avatar andrusha avatar dmzmk avatar knowthen avatar tbaums avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mycelite's Issues

sqlite wasm support?

I have a Chrome extension that uses PouchDB that I'd love to use Mycelite with instead. Are there any plans to support sqlite wasm for browsers?

Attempting to write to a table in a reader instance leads to repeated error messages on subsequent valid queries.

I configured a reader as shown below and attempted to insert a new row.
The insert failed as expected, however, subsequent valid queries repeated the same error message.
I closed and reopened the read-only database, and I continue to receive errors Error: attempt to write to a read-only database
If I open the reader.db without our extension, I'm able to query the table.

sqlite> .load ./target/release/libmycelite 
sqlite> .open reader.db
sqlite> .load ./target/release/libmycelite mycelite_config
sqlite>  insert into mycelite_config values
    ('endpoint', 'https://us-east-1.mycelial.com'),
    ('domain', 'my-public-domain'),
    ('client_id', 'client_id'),
    ('secret', 'secret');
sqlite> select * from a;
name
-----
James
sqlite> insert into a(name) values ('John');
Runtime error: attempt to write a readonly database (8)
sqlite> select * from a;
Runtime error: attempt to write a readonly database (8)

in production?

Hi, is this being used anywhere in production?
Thanks,
David Alm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.