Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mrjn
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
24 ms
·
181.
▲
by
mrjn
7y ago
This issue would fixed with this PR: https://github.com/dgraph-io/ristretto/pull/62
182.
▲
by
mrjn
7y ago
> write a big string literal and send it to the server To be honest, that describes almost all query languages, including SQL and Cypher. Dgraph's QL is based on GraphQL[1]. When starting Dgraph, we had a choice to go with Gremlin o
183.
▲
by
mrjn
7y ago
(Dgraph author) Particularly embarrassing because I actually know the founders of Prisma ;-). Amazing folks! They even included YugaByte, with only 2.8K GitHub stars. Dgraph crossed 11K GitHub stars and is in the top 10 Graph DBs on DB Engi
184.
▲
by
mrjn
7y ago
Feel free to file an issue. That could cause correctness issue in Ristretto as of today.
185.
▲
by
mrjn
7y ago
Thanks! If not Go, we would have used C++. But the simplicity and readability of the Go codebase is a huge win. Also, C++ is just not as much fun to write in. I joke that Go is kind of like the wild West. It comes with its Benefits and own
186.
▲
by
mrjn
7y ago
Also, if we guarantee that every Set is accepted, it goes against the idea that the Estimate of the incoming key must be higher than the Estimate of the key getting evicted. Of course, one way to ensure every key goes in is to have a cache
187.
▲
by
mrjn
7y ago
That would indeed be an interesting research area.
188.
▲
by
mrjn
7y ago
> by evicting more than one key when at capacity (say, evict n% of total keys) Ristretto does that already. It evicts as many keys as needed to stay within the MaxCost. This is done outside the critical path by background goroutines. How
189.
▲
by
mrjn
7y ago
Values can be arbitrary length, yes. We plan to store SSTable blocks from Badger in Ristretto. They can be strings, byte slices, whatever. That's the reason we chose interface{} as the input.
190.
▲
by
mrjn
7y ago
Based on this behavior, the two scenarios for Ristretto would be: 1. If the chosen sample keys have high Estimate, the incoming keys could be rejected, affecting the Hit ratios. However, our Hit ratio benchmarks didn't show such behavi
191.
▲
by
mrjn
7y ago
The benefit of current hashing algorithm is that Go team is maintaining it ;-). Its written in assembly and runs in single digit nanoseconds. One way to check for collision would be to either store the key as well or use another hashing alg
192.
▲
by
mrjn
7y ago
One way to make Ristretto act as a server would be to bake it into Group cache. Which is the equivalent of memcached in Go.
193.
▲
by
mrjn
7y ago
Exactly. Doing caching in a transactional MVCC system is hard. We plan to do careful data caching in Dgraph with this. Block level cache in Badger would be easy. So would be key with version level cache in Badger.
194.
▲
by
mrjn
7y ago
We will fix that in the near future. Known problem with our design choice. Wanted to ensure we put it out there first, before solving it. FWIW, note that the probability of a collision with 64 bit hash is pretty low. Still, needs to be solv
195.
▲
by
mrjn
7y ago
Think of a JSON map as a document or an entity. Then the keys would be predicates, and the values would be either references to another JSON map (document/entity) or a value (like a string, int or something). {"uid": "0x
196.
▲
by
mrjn
7y ago
In this example, item, price, order would be predicates.
197.
▲
by
mrjn
7y ago
> Big question for the founders: how are you going to fend off AWS when you will get bigger? (see what's happening with Elastic, MongoDB, etc) Just judging by the stock price, at $100 and $150 approx today, Elastic and Mongo stock a
198.
▲
by
mrjn
7y ago
We have generally coalesced into remote offices, which have enough folks in there to help each other. We've also started encouraging pair programming, so engineers can question each other more and review code together. We still have re
199.
▲
by
mrjn
7y ago
We're working on that for sure. ETA end-Q3 2019.
200.
▲
by
mrjn
7y ago
Good to hear Mongo would have distributed transactions. Go is awesome. I picked a t-shirt from Mongo's booth at Gophercon, nice stuff!
201.
▲
by
mrjn
7y ago
Dgraph's writes are actually very fast. The one-time bulk loader loads at millions of records per second. With recent optimizations [1], the live loader can load 21M records in 5 mins without indices and 20 mins with tons of indices. N
202.
▲
by
mrjn
7y ago
You're misinterpreting me. I haven't talked down about them. And definitely don't think of them as a competitor. My point was that those questions I mentioned above are important to Dgraph users and I don't think Redis e
203.
▲
by
mrjn
7y ago
I'd love to talk about this at length. Having built distributed systems in Google Web Search with C++ for over 6 years, I still enjoy the manual memory management model than a GC based model. Identifying and fixing memory leaks is easi
204.
▲
by
mrjn
7y ago
(Dgraph author here) We see that over and over again when talking to companies. In fact, my blog post[1] talks about that at length. [1]: https://blog.dgraph.io/post/how-dgraph-labs-raised-series-a/
205.
▲
by
mrjn
7y ago
On the topic of ACID, Dgraph is the only graph DB (AFAIK) which has gone through Jepsen testing for its distributed transactional ability. Note that Dgraph passes all of them in the latest releases. And provides MVCC, snapshot isolation wit
206.
▲
by
mrjn
7y ago
> As a startup, your price point is in the 20k/y ballpark, but GrapheneDB/Neo comes in a lot lower. What would I get for paying that much more? Should have tackled this in my other post. But, let me approach this question from
207.
▲
by
mrjn
7y ago
Yeah, sorry for missing Redisgraph. The entire graph is stored in memory and only spans one server. I personally am not sure what happens when that server goes down. How many minutes worth of data is lost? What's the replication strate
208.
▲
by
mrjn
7y ago
(Dgraph founder here) Dgraph's edges only have two nodes, sorry.
209.
▲
by
mrjn
7y ago
(Dgraph founder here) > The decision to adapt GraphQL instead of supporting Cypher, what would you say were the big trade offs? Cypher was built around SQL, with the idea that people are used to SQL. Therefore, by having something simila
210.
▲
by
mrjn
7y ago
By chronological event data, you mean timeseries data? Dgraph can be used for storing that, though, it's not specifically designed to store data that "flat". It should work conceptually. At least, for smaller datasets, it sho
More ›