Other data may be stored in NoSQL engines, including key-value stores, graph databases, ledger databases, or time-series databases. Some data may be highly structured and stored in SQL databases or data warehouses. The root of the problem is that data is typically spread across a combination of relational databases, non-relational data stores, and data lakes. ![]() Much of this data is intended to drive business outcomes but, according to the Harvard Business Review, “…on average, less than half of an organization’s structured data is actively used in making decisions…” There is a hacker news coupon "HACKERNEWS" for $20 off that I found in an old thread and it still works.Data is being gathered and created at rates unprecedented in history. If you want learn more about Single Table Design with DynamoDB then you should absolutely check out the book: - I was skeptical as I'm not really a programming book type of guy but this was an amazing resource for how to think about Single Table Design and how to structure your data. In the end I just query for 1 entity at a time or a group of children entities for a given parent and I'm pretty happy overall. I guess I understand why, you'd need to be hydrating the objects returned from DynamoDB into classes (and thus storing something on the Items in DynamoDB that hint you the class to hydrate into) and it can be weird to get back an array of mixed class instances. I find it a little odd that so few TypeScript/DynamoDB wrappers support fetching multiple entities in a single call (Example: PK is userId, SK is userId for the User entity, and SK is addressId for the user's addresses, get user and all their addresses in a single call by only querying with the shared PK). I played around with a couple of options out there and ended up settling on TypeDORM. I hadn't seen dynaglue when I went looking recently for a TypeScript library for DynamoDB. ![]() > This got me thinking about DynamoDB (a database I use day to day, and for which I maintain dynaglue, a single-table mapping layer for TypeScript/JavaScript), and made me wonder if a DynamoDB adapter existed. I just wish people were more precise with terminology. That's not to say it is inferior, it is in my opinion clearly superior, I strongly believe this is the correct sort of tool for helping work with a relational database from any programming language. But I will say that just from a quick glance, Prisma is NOT really an ORM but seemingly far more of just a query generator with nice syntax (e.g. ![]() I can sort of understand why the people behind Prisma called it an ORM as it is probably advantageous as a marketing strategy. (This is starting to sound like an appeal to purity but I think the problem here is that terms like OO and ORM are increasingly becoming diluted to the point of being meaningless.)Īnyway, I'm not saying that you did anything wrong, you obviously are not the person who originally described Prisma as an ORM, it's on their website. You will have an argument with someone about the flaws in the concept of ORMs and they will pull out something which calls itself an ORM but seems to lack a lot of the core of what an ORM was supposed to do. You know, this tendency to call things which are not actually ORMs ORMs reminds me a lot of the tendency for a lot of "multi paradigm" languages to claim they support OO while actually not supporting true OO (whatever that really means, I'm still not personally sure yet but it's easier to tell when you DON'T have it than when you do).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |