Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Further database support #1

Closed
sononix opened this issue Oct 21, 2013 · 5 comments
Closed

Further database support #1

sononix opened this issue Oct 21, 2013 · 5 comments

Comments

@sononix
Copy link

sononix commented Oct 21, 2013

Hi
Are there plans to support other database platforms at the moment ?

Martin

@oberstet
Copy link
Contributor

At the moment, we are committed to provide first-class support for Oracle and PostgreSQL.

In principle, there are 2 characteristics that make a database suitable for Crossbar.io:

  • a capable database-side language (like PL/SQL for Oracle, and PL/pgSQL, JavaScript, R, .. for PostgreSQL is)
  • an efficient mechnism for pushing out data from within the database (DBMS_PIPE/AQ for Oracle and NOTIFY for PostgreSQL)

What database are you looking at?

@sononix
Copy link
Author

sononix commented Oct 21, 2013

I was thinking of Riak - high availability and scalability....
I guess the problem is can a pub/sub pattern be implemented efficiently on a document based platform rather than a relational based platform.....

M

@oberstet
Copy link
Contributor

PubSub is done within Crossbar.io .. its a message broker. You can do PubSub using Crossbar.io without any database. No need to replicate that in Riak.

The point is: using Crossbar.io, you can do publish (and subscribe) from the database in addition.

Key-value stores are - in our view - a step into the past. If you want schemaless models, you can do hstore or native json storage in PostgreSQL .. with a lot more powerful features than any KV store (Mongo, Couch, Riak, whatever).

@sononix
Copy link
Author

sononix commented Oct 21, 2013

Im looking at platforms at the moment, and I might have to use a JavaScript based approach which I won’t be entirely happy about... none really do what I want and its a trade off between speed and features

When developing platforms such as you have you have already made some key design decisions on where the platform is going

postgres is a great relational database but really when it comes to replication and scaling certain issue on manageability arise....

Yes I understand the real time messing system but why choose crossbar, for example
if I need speed I would just go use zeromq or a another message passing platform (but then I have to build something from scratch myself!!! Good lord no :) )
yes not too many real time frameworks in the javascript space there are a few but

At the moment I fill like I would be more future proof towards a noSQL based model such as riak because of replication - my data structure doesn’t change all that much, though if my data was was consisting getting accessed I would probably go towards redis/mongodb approach

what are the features over key value store :) that crossbar offers
M

@oberstet
Copy link
Contributor

Crossbar.io uses WAMP/WebSocket, which allows you to reach into the browser. You can't connect a browser over zeromq.

Rgd future proof: KV isn't. What if you need anything but a trivial query over your data tomorrow? What if you need to enrich and query your data with geospatial/locality information? What if you want to do advanced statistics over your data? And so on.

Rgd replication: PostgreSQL has all sorts of advanced and robust replication modes. And it's simple. Oracle has it also, but it's more complex, granted.

Rgd scalability: have you ever run PG on a .. lets say modern 8 core machine with lots of RAM and SSD (up to FusionIO)? It'll scale enough already vertically (without sharding) for many scenarios unless you are Facebook or Twitter. I personally find that funny: 99.9% use cases don't need FB scalability, nevertheless people think it's a requirement for them. Btw: Skype runs on PG (sharded). If you think you need FB scalability, then yes, have a look at Mongo.

meejah pushed a commit to meejah/crossbar that referenced this issue Sep 15, 2017
DZabavchik added a commit to NinjaRMM/crossbar that referenced this issue May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants