Highly Scalable Blog covers NoSQL data modeling, distributed algorithms, probabilistic data structures, and big data processing for backend engineers.
Commenters recommend its NoSQL data modeling and probabilistic data structures articles as good reading, and one lists it among the blogs they subscribe to.
NIST Dictionary of Algorithms and Data Structures[0]
Is there a specific subject area(s) of application? aka big data analytics[a] / data mining and web analytics[b] / streaming applications[c] / other
Random picks with mix of tutorials/examples/explainations/resouces from search engine term "probabilistic data structures": [1][2][3][4], probabilistic DS vs. postgresql[4]
---
[0] : https://xlinux.nist.gov/dads/
[1] : https://www.geeksforgeeks.org/introduction-to-the-probabilistic-data-structure/
[2] : https://iq.opengenus.org/applications-of-different-data-structures/
[3] : https://dzone.com/articles/introduction-probabilistic-0
[4] : https://blog.devgenius.io/probabilistic-data-structures-1-definition-and-bloom-filter-431e5cbfb934
[5] : https://www.postgresql.eu/events/fosdem2020/sessions/session/2934/slides/279/pg-probabilistic-structs.pdf
----
[a] big data : https://www.researchgate.net/publication/335418069_Probabilistic_data_structures_for_big_data_analytics_A_comprehensive_review
[b] data mining / web analytics : https://highlyscalable.wordpress.com/2012/05/01/probabilistic-structures-web-analytics-data-mining/
[c] streaming : https://www.usaclouds.org/blog/streaming-with-probabilistic-data-structures-why-how
I read about an interesting technique, an "all-or-nothing tracker" in a blog post from an Apache Spark engineer.
You dispatch n jobs, where n is quite large, and you want to know; have all n jobs have completed, or has less than n jobs have completed. How to do so with a small fixed number of bytes with very high probability?
Give each job a random 128-bit ID number. XOR each ID number together as you start each job, and XOR into the same value as each job completes. If all the jobs have completed, the result is 0. The chance of zero turning up randomly if all jobs are not complete is negligible.
The technique is mentioned here under 'Lineage Tracking': https://highlyscalable.wordpress.com/2013/08/20/in-stream-big-data-processing/ but there's a better blog post I remembered reading but can't find at the moment...
Unknown is relative, but here are some of the rss feeds I'm subscribed too:
http://nosql.mypopescu.com/
http://lambda-the-ultimate.org/
http://eli.thegreenplace.net/
http://www.stefankrause.net/wp/
http://mechanical-sympathy.blogspot.com/
http://www.cowtowncoder.com/blog/blog.html
http://highlyscalable.wordpress.com/
http://hunch.net/
http://perspectives.mvdirona.com/
http://www.scottaaronson.com/blog/
http://www.softwarebyrob.com/
http://blog.mikemccandless.com/
As a fan of Codd/Date/Pascal, relational algebra, and ACID, I used to feel the same about NoSQL, but have since come to appreciate it as an option. Schemaless is nicer for exploratory programming with frequent data model changes, for one example.
Here's a good article on NoSQL data modeling that covers it better, along with some good discussion in the comments:
http://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/
I don't think this addresses your question directly, but there is always Unsafe. You can do a lot of direct memory manipulations through it. http://highlyscalable.wordpress.com/2012/02/02/direct-memory-access-in-java/
Because I like to learn by example: http://www.databaseanswers.org/data_models/index.htm
If you meant NoSql but even if you did not: https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/