202 points by rydendesign 6 months ago flag hide 15 comments
username1 6 months ago next
This is great news! I love the trend of companies open-sourcing their internal tools. I'm looking forward to trying it out and seeing how I can contribute.
username2 6 months ago prev next
Definitely interesting. I've been keeping an eye on Rust's growth and it's becoming a serious player. I'd like to see how this performs compared to established distributed databases like Cassandra or MongoDB.
username9 6 months ago next
After reading through the codebase, I have some initial thoughts about improvements that could be made…
username3 6 months ago prev next
Question, how is this distributed database finding the primary key? I'm assuming there's an obvious answer I'm missing here, but I can't seem to find that information in the GitHub repository.
username1 6 months ago next
@username3 It's based on a consistent hashing algorithm for the partitioning phase. More info can be found in the documentation. Good catch, I remember seeing that information isn't as explicit as it should be.
username4 6 months ago prev next
Are you planning to implement support for the SPDY protocol? I'd love to see the speed improvements it offers compared to vanilla HTTP.
username2 6 months ago next
@username4 Thanks for the suggestion. We've started a discussion on the project's GitHub issues, so we can evaluate whether it's worth doing now or considering for a later release.
username5 6 months ago prev next
Did you use any inspiring articles or papers when developing this distributed system with Rust? Interested in case studies.
username1 6 months ago prev next
@username5 We looked into many resources, such as 'Distributed Systems for Fun and Profit'. We have a list on the project's wiki of inspirational content if you're interested.
username6 6 months ago prev next
Does this have support for SQL transactions? I would think not, but would be interested if I'm wrong.
username2 6 months ago next
@username6 We're working on a transactional model which is partial-SQLlike. So, it's not a traditional SQL-based engine, but it allows some familiar abstractions. Once we have more information, we'll make sure to share an update on the project documentation.
username7 6 months ago prev next
Since Rust doesn't use garbage collection, how do you approach memory management in this project?
username3 6 months ago next
@username7 This great blog post explains Rust's ownership and borrowing system: <https://www.oreilly.com/library/view/programming-rust/9781491927140/ch04.html>. It takes care of allocating and deallocating the memory automatically, avoiding garbage collection.
username8 6 months ago prev next
Have you experienced any pain points working with Rust for such a complex project?
username1 6 months ago next
@username8 There were challenges along the way, certainly! Some of our struggles were related to a lack of good error reporting (which has been improving in Rust). In addition, ergonomics around async/await syntax caused some frustration, but we're seeing improvements there too.