Rockset's company blog covers its real-time search and analytics database, RocksDB use, SQL query planning, and vector search.
HN commenters recall its comparison page with some mockery, and discuss vendor risk after OpenAI acquired the company. Staff also posted product announcements.
> I'd love to hear from someone with expertise in vendor onboarding and business continuity risk: how do vendor contracts typically protect customers in situations like this?
The short answer: they generally don't, unless you negotiate for it. I run a company and dealing with this kind of situation (or better still anticipating it) is part of my job.
The Rockset situation generally falls under "termination for convenience" where a party of the contract terminates for reasons other than cause, e.g., bankruptcy or the other party violating contract terms. Taking the Rockset TOS as an instructive example, it covers customer's termination for convenience in Section 15.2. [0] However, there's nothing about Rockset terminating for convenience.
Normally this ambiguity could cause legal problems for the vendor, but Rockset added a 'get out of jail free card' in Section 2. They can just change the ToS.
> 2. Changes to Agreement or Services. Rockset may update this Agreement at any time, in its sole discretion. If Rockset does so, it will let Customer know either by posting the updated Agreement on the Site or through other communications. If Customer continues to use the Services after Rockset has posted updated Agreement, Customer agrees to be bound by the updated Agreement. Because the Services are evolving over time, Rockset may change or discontinue all or any part of the Services, at any time and without notice, at its sole discretion.
I am not a lawyer but (a) this is an…
Thank you Eatonphil for writing this.
I agree that I would love to see more of this kind and quality this kind of article of technical subjects.
https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1/
https://keleshev.com/abstract-syntax-tree-an-example-in-c/
I don't want to add more work to people who are already working more than everyone else. But when you write software or code that is truly good, I want people to write lots of examples and descriptions of their mental model and how to think of the software.
I'm still trying to understand what the difference between a poller and an awaiter in Rust async.
I use Flask because I find Flask easier to understand than Django. There's even a simple example on the Flask homepage. But Django has a very large tutorial which still doesn't really explain how each component fits together. I don't understand the mental model behind Django but I do with Flask.
For example, I'm still trying to understand C++ coroutines. And I have some code that kind of works and some code someone provided on Stackoverflow I cannot get to work with GCC. There's not large amounts of documentation on C++ coroutines.
I see people post fascinating awesome GitHub projects and have sparse README.md and no screenshots
The code doesnt speak for itself. You can write the perfect code at a company and that code never flourishes because nobody wrote about it. Or you can write the perfect code at home but it doesn't get used.
I would rather…
Hi yingw787, I work on the product team at Rockset. Thanks for your thoughts!
I'll try and answer your questions below.
- The different file formats get indexed and turn into a Rockset specific format which ensures that irrespective of the file type you get excellent performance for your SQL queries.
This also means you can JOIN data from different sources (containing files in different formats) using SQL irrespective of the source formats.
- Depending on the complexity of the SQL queries, the latency can range from low tens of milliseconds to a few seconds. Since we index ALL the fields in several ways,
if we're able to use our indices to accelerate the query (which is almost always the case), it will likely be in the 10-200 milliseconds range for a wide range of analytical queries.
Look out for some numbers in the future.
- Data cleaning is something we facilitate through the use of our delete/update records API that lets you mutate the index and remove/update the records that you consider to be containing bad data. Since Rockset supports schemaless ingest (https://rockset.com/blog/from-schemaless-ingest-to-smart-schema-enabling-sql-on-raw-data/), error documents don't really break anything and you can work around them by writing a query that ignores them. We are interested in providing visibility into the data so that you can quickly detect issues with the data and fix them.
- Rockset has a REST API, clients in different programming languages…
previous mention: https://news.ycombinator.com/item?id=13698965
why mention again:
we have reached v 9.0.0 and so much has happened in the meantime (check history here: https://github.com/trustpilot/python-lambdarest/blob/master/HISTORY.md):
* 15 contributors over time and battle-tested in production since 2017
* python 3.6+ only
* flask like routing decorator
* supports aws Application Load Balancer and "normal" api gateway
* supports query_params, body_params and path_params
* (still) uses jsonschema for validation
* supports Lambda authorization scopes
* lambdarest strictly does routing/handling and doesn't interfer with deploying
* low amount of code lines: 1 file, 346 lines
* uses poetry for packaging
two tutorials have been published by users over the years:
* http://www.devgrok.com/2019/03/create-private-microservice-using.html
* https://rockset.com/blog/building-a-serverless-microservice-using-rockset-and-aws-lambda/
We are very friendly and love cooperating, come join us! :-)
.
small example:
from lambdarest import lambda_handler
@lambda_handler.handle("get", path="/foo/<int:id>/")
def my_own_get(event, id):
return {"my-id": id}
A database is core to your infrastructure...finding out your database is going away is a horrifying situation. Finding out that the time you have to migrate is a few months. Agh.
As others will say, there are options. Rockset helpfully posts links to a bunch of comparisons on their website, and these alternatives include ClickHouse, Elasticsearch, Druid, etc.. https://rockset.com/real-time-analytics-comparison/
I'm inherently biased (as a member of the ClickHouse team). But do check ClickHouse out.
You can always come hang out in our Slack (clickhouse.com/slack) and, of course, the combination of hosted ClickHouse (clickhouse.com/cloud) and the open-source (github.com/clickhouse) may add a bit of comfort when your vendor up and disappears via acquisition.
Hey HN! I'm Julie on the product team at Rockset (https://rockset.com/). We wanted to share the results of an open-source streaming ingest benchmark we ran on Rockset and Elasticsearch. We evaluated Rockset and Elasticsearch ingestion performance on throughput and data latency at the 95th and 99th percentile, given that both databases are used for production search and analytics applications that require predictable performance.
The blog (https://rockset.com/blog/benchmark-elasticsearch-rockset-streaming-data/) walks through the benchmark framework, configuration and results. We're looking to better support search and analytics on high-velocity streaming data and would welcome feedback/requirements that you have for your applications.