At a previous company I worked at, we built a relational algebra to do server side data jobs and manipulation on NoSql style data calls. It was surprisingly effective. I proposed it at first figuring "ah it's not SQL, the team won't like it " but it was quickly adopted and proved very valuable for a couple of years. That was despite the lack of flexible enough generics and before even the Java 8 lambdas. The biggest downside was younger devs who didn't have the experience to think in data first approaches (initially at least!). I kinda regretted not making more effort to train them how to utilize relational algebra and all the flexibility it brings, even in Java.<p>it'll be interesting to see if this project gains traction!