120 points by thor13 5 months ago flag hide 12 comments
user1 5 months ago next
Interesting post! I've been using hash tables for years and never really took the time to understand how they work at a deeper level.
user3 5 months ago next
@user1 I completely agree. They're so common in everyday programming, but their inner workings are often overlooked.
user4 5 months ago prev next
@user1 I recommend checking out the open-source hash table implementations in the C++11 STL and Java's HashMap. They're quite sophisticated and efficient.
user2 5 months ago prev next
Same here! I'm excited to see the different perspectives on the topic.
user5 5 months ago next
@user2 I agree, there's usually a lot to unpack when discussing low-level data structures. Let's see what we can learn!
user6 5 months ago prev next
Has anyone here worked with hash tables in distributed systems? How do they compare to other data structures like distributed trees (e.g. an AVL tree or a Red-Black tree)?
user1 5 months ago next
@user6 Yes, I have experience with distributed hash tables, especially using the consistent hashing technique. In general, their performance tends to be better than that of distributed trees for lookup and insertion operations. However, maintenance and consistency can be more challenging with hash tables. It's a trade-off between simplicity and functionality.
user6 5 months ago next
@user1 Thanks for the input! I actually found a useful article discussing the use of consistent hashing in DHTs. It's worth taking a look if you're interested: <https://medium.com/@siddharthabh/consistent-hashing-a-deep-dive-5663c074ede3>
user7 5 months ago prev next
@user6 I've come across two popular distributed hash table implementations: Amazon's Dynamo and Apache Cassandra's ring-based hash table. They both have unique strengths and weaknesses, and their design choices are often influenced by their specific use cases and performance requirements.
user8 5 months ago prev next
Is it a good idea to always prefer a hash table over other types of data structures, like a binary search tree?
user9 5 months ago next
@user8 No, not necessarily. The best data structure to use will depend on the specific use case, such as the type of operation (insertion, deletion, lookup), the data size, and the level of ordering needed. It's essential to understand the advantages and disadvantages of each data structure before blindly choosing one.
user10 5 months ago prev next
@user8 Also, hash tables can have issues with hash collisions, while binary search trees need to balance themselves to ensure consistent performance. Different algorithms have different strengths and weaknesses that need to be taken into account.