Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
nathanmarz
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
61.
▲
by
nathanmarz
3y ago
FYI, in case you're unaware the rama-demo-gallery repo has a bunch of short, self-contained, thoroughly commented examples of applying Rama towards different use cases https://github.com/redplanetlabs/rama-demo-gal
62.
▲
by
nathanmarz
3y ago
Our license fee captures a small percentage of the cost savings you get from reducing development cost so much.
63.
▲
by
nathanmarz
3y ago
Everything you wrote here is false, with the exception of Rama not using SQL. Rama has strong schemas, is strongly consistent, and is not limited to key/value (PStates can be any data structure combination). Zookeeper is used only fo
64.
▲
by
nathanmarz
3y ago
This is the bank transfer example we show in rama-demo-gallery. There's both Java and Clojure versions of that example. https://github.com/redplanetlabs/rama-demo-gallery The atomic bank transfer is done as part o
65.
▲
by
nathanmarz
3y ago
Rama PStates are globally readable but not globally writable. They are only writable from the topology that declares them. All code writing to PStates is thereby always in the exact same program. Additionally, since PStates are not the sour
66.
▲
by
nathanmarz
3y ago
You can configure depots to trim themselves. Depending on the application this may or may not be necessary.
67.
▲
by
nathanmarz
3y ago
Rama supports very strong transactions actually. Besides being able to do arbitrary atomic updates across multiple indexes on a single partition, you can also do distributed transactions. Our bank transfer example in rama-demo-gallery demon
68.
▲
by
nathanmarz
3y ago
Thanks
69.
▲
by
nathanmarz
3y ago
* By "restrictive schemas" I mean being forced to represent your data storage in non-optimal ways – like not being able to have nested objects in a first-class way. Schemas themselves are extremely important, and they should be as
70.
▲
by
nathanmarz
3y ago
There can be a lot of integration pain when implementing event sourcing and materialized views by combining individual tools together. However, these are all integrated in Rama, so there's nothing you have to glue yourself as a develop
71.
▲
by
nathanmarz
3y ago
Those questions are all answered in the documentation, which we spent a ton of time on. Some available resources: - Public build that you can download and run yourself locally https://redplanetlabs.com/docs/~/downl
72.
▲
by
nathanmarz
3y ago
Mastodon is extremely similar to the consumer Twitter product, and "Twitter-scale" is a known number that we tested well beyond. Among other things, we verified our timeline delivery latency was at least as good as Twitter's
73.
▲
by
nathanmarz
3y ago
By your logic, all testing is invalid except for usage by real users. Two things: - We stress-tested the hell out of our implementation well beyond Twitter-scale, including while inducing chaos (e.g. random worker kills, network partitions)
74.
▲
by
nathanmarz
3y ago
Different applications will be more relatable to different developers. And that is the path we are going down, of steadily building up more and more examples of applying Rama towards different use cases. Some developers will get their light
75.
▲
by
nathanmarz
3y ago
The rama-demo-gallery example is distributed, and it's also tracking incoming/outgoing transfers for each user.
76.
▲
by
nathanmarz
3y ago
Yes, it's JVM-only for the foreseeable future.
77.
▲
by
nathanmarz
3y ago
Our production-ready, Twitter-scale Mastodon implementation in 100x less code than Twitter wrote to build the equivalent feature-set (just the consumer product) begs to differ that it's "a bunch of buzzwords". https:/&#
78.
▲
by
nathanmarz
3y ago
It's a way of doing stream processing that sacrifices a little bit of update latency for higher throughput and exactly-once processing semantics. Regular streaming has single-digit milli update latency, while microbatching has at least
79.
▲
by
nathanmarz
3y ago
Yes to both. Our bank transfer example in rama-demo-gallery is a good example of this. https://github.com/redplanetlabs/rama-demo-gallery
80.
▲
by
nathanmarz
3y ago
I think the complexity gets really crazy at high scale, but the complexity caused by databases is still significant at low scale as well. For example, needing to use an ORM and dealing with all the ways that can leak is pure complexity caus
81.
▲
by
nathanmarz
3y ago
True, Rama does have a learning curve. It's easier to explain why its indexing capabilities are so powerful, as data structures vs. data models is fairly relatable to most devs. But I actually consider its dataflow API to be the bigger
82.
▲
by
nathanmarz
3y ago
Many of the problems with databases that I outlined in that post are about how they create complexity, which is not necessarily related to performance or scale. Complexity kills developer productivity, which reduces iteration speed, which c
83.
▲
by
nathanmarz
3y ago
We've released many examples. The first is our Twitter-scale Mastodon implementation, which is 100x less code than Twitter wrote to build the equivalent at scale (just the consumer product). It's also more than 40% less code than
84.
▲
by
nathanmarz
3y ago
Actually, when done right this dramatically simplifies a backend architecture. Even a low-scale application commonly uses multiple databases (e.g. Postgres plus ElasticSearch) and queues+workers for background work. Our Twitter-scale Mastod
85.
▲
by
nathanmarz
3y ago
It's a backend development platform that can handle all the data ingestion, processing, indexing, and querying needs of an application, at any scale. Rather than construct your backend using a hodgepodge of databases, processing system
86.
▲
by
nathanmarz
3y ago
Being able to model a use case with tuples and relations does not mean the database can meet the performance requirements of that use case. If it can't meet the performance requirements, then the use case is unsupported. It's the
87.
▲
How Rama is tested: a primer on testing distributed systems
(blog.redplanetlabs.com)
7 points
by
nathanmarz
3y ago
|
0 comments
88.
▲
by
nathanmarz
3y ago
The best resource for learning about Rama is its documentation: https://redplanetlabs.com/docs/~/index.html Our blog post about our Mastodon implementation is a deep dive into how it works, and how the implementat
89.
▲
by
nathanmarz
3y ago
The Spring stuff and Rama stuff is split between the api/ and backend/ folders. The backend/ folder is the more interesting part to look at.
90.
▲
by
nathanmarz
3y ago
One way to think of Rama is as a "programmable datastore", where your application logic goes into and is colocated with your data storage. So your logic has to be written to run on the same platform on which Rama is built, which i
More ›