-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
sql: Question - JSON Support. For example QueryJSON PostreSQL support would be really great. #3895
Comments
We've only had rudimentary thoughts about JSON support. Likely something we'll do, though there are no specific plans. What in particular about the PostgreSQL JSON support is attractive? AFAIK, the support is a set of additional functions, which isn't exactly seamless integration. |
Changefeeds or something like it is something that has come up before. It isn't on our near term roadmap, but we'd like to do something of that nature eventually. |
+1 for some type of semi-structured data support down the road. @joeblew99 agreed RethinkDB is great (especially RQL and changefeeds), but its hard to say either Rethink or Mongo deliver horizontal scalability for nothing, especially Mongo w/ regards to administration and data integrity. RethinkDB is shaping up worlds better than Mongo, but it still has some (not insignificant) issues w/ sharding and scaling horizontally, although they're making great progress. That said, I don't think either of those will be able to match Cockroach in terms of stability/robustness as a distributed database, being built on the foundation of a KV store supporting fully ACID transactions. All that said, if semi-structured data/JSON make it onto the relatively-near-term-roadmap post 1.0, it would be simply awesome. |
Any examples of what you would expect to see for schema definition and How nested might your JSON be? Do you want that full nesting in a single -- Jack Krupansky On Tue, Feb 2, 2016 at 6:25 PM, Jon Hartman notifications@github.com
|
@JackKrupansky Gave this thread a +1 as in "pie in sky, it'd be great to have someday, but don't divert any mental effort from the great work being done towards beta". That said, I think "expect to see" is a hard one to answer as really the only precedent for JSON in tandem w/ a relational DB has been the handiwork of Postgres w/ the JSONB datatype. As a frame of reference, its all I've got (and like very much w/ Postgres). @petermattis is right I believe, in that the support comes through additional sql functions, although the QL is extended with non-standard query operators: ->, ->>, and @>, <@, ?, ?|, ?& via GIN indexes. Regarding nesting, hard one to answer. It'd be easy to say "any standard JSON", so arbitrarily deep, but even if it were restricted to one level deep beyond the root it'd be immensely useful. |
Just to be clear, I was not inquiring how any existing product implements IOW, if your conceptual target is an SQL database you would tend to design That said, if anyone has actually been using an existing product that has -- Jack Krupansky On Wed, Feb 3, 2016 at 4:16 AM, jow blew notifications@github.com wrote:
|
@JackKrupansky Forgive the references to how others implement it, call it a misunderstanding in exactly what you were asking. For an answer to the use case: managing user-definable meta data without using EAV. |
Thanks, that's helpful. Personally, I'd like CockroachDB to have the equivalent of Cassandra's map -- Jack Krupansky On Wed, Feb 3, 2016 at 11:05 AM, Jon Hartman notifications@github.com
|
@JackKrupansky Seconded. I don't want to latch onto JSON as the go-to "thing" necessarily. Naively, its what I'm familiar with as an analog to arbitrary KV pairs in a single column. I've never used PG's JSONB as a way to store anything beyond KV pairs anyways actually, which sounds like its aligned with how Cassandra's map collection data type is used. |
And is all of that pure streaming - write-once, read occasionally, and -- Jack Krupansky On Wed, Feb 3, 2016 at 12:48 PM, jow blew notifications@github.com wrote:
|
Closing in favor of #2969. |
Cassandra and RethinkDB have been mentioned, but also in Redis they have a implemented a concept of published messages that are characterized as channels, and they do not have knowledge of what (if any) subscribers there may be. Subscribers express interest in one or more channels, and only receive messages that are of interest, without knowledge of what (if any) publishers there are. The Redis Pub/Sub implementation supports pattern matching and clients may subscribe to glob-style patterns in order to receive all the messages sent to channel names matching a given pattern, unlike the rather messy PostgreSQL setup for JSON changefeeds. |
Nats streaming now exists and provides a pretty good solution for the uni DAG style architecture talking about above. https://github.com/nats-io/nats-streaming-server How you parse your database logs and publish out to your upstream systems is up to you. Anyway Nate streaming is really worth a look !!! |
Wondering if support for JSON that matches PostreSQL is planned ?
This is a go library for PostreSQL, that supports all these advanced PostreSQL functions
https://github.com/mgutz/dat
The text was updated successfully, but these errors were encountered: