New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jonathan Allen on Dec 20, 2007
ADO.NET Entity Framework represents the first major data modeling endeavor from Microsoft since the inception of the .NET framework and typed datasets. Essentially, it serves as an intermediate layer between application code and the database. It is different from LINQ to SQL in that it does not closely mirror the underlying database structure. Instead, data objects are modeled directly and the mappings are handled in an after-the-fact fashion.
At first, Microsoft will only be including the SQL Server provider LINQ to SQL. However, the other database vendors are not going to allow themselves to be left behind. Eight vendors have announced that they will have providers within three months of RTM. David Sceppa of ADO.NET posted this list.
Fair Trade Software Licensing - A Guide to Neo4j Licensing Options
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
>> ADO.NET Entity Framework represents the first major data modeling endeavor
I wouldn't call it a "data modeling endeavor". It's more of a data mapping and concept modeling solution. The conceptual model is mapped to the data model, and the application is subsequently mapped to the conceptual model -- if necessary. Often the conceptual model itself is a reasonably good representation of the domain of the application and can therefore be used directly either with classes generated by the tools, or using anonymous types.
>> Microsoft will only be including the SQL Server provider LINQ to SQL
LINQ to SQL will remain separate and independent of entities. The LINQ provider for entities is appropriately named LINQ to Entities.
What makes me sad about entities is that it reminds me a lot of EJB 1 and 2. The implementation will likely be far better and hopefully simpler. But the idea is the same (although explained more clearly).
Look forward to similar patterns and anti-patterns (DTO, business delegate, extra layering) to deal with the same limitations and design constraints that Java developers lived through during the good ol' Enterprise Java Bean days...
Clinton
Oh.... and to draw even more parallels to EJB, Entities comes with its very own proprietary query language, just like good ol' EJB QL...
"Entity SQL"
Party like it's 1999... :-)
The snippet in the RSS feed suggests that Oracle lines up behind the EF as well. But that's not the case, at least not for now. It's unclear when or if they'll release an ODP.NET for EF
My apologies, I will alter the summary to be clearer.
A lot of the recent stuff that came out in .NET 3.5 is from people wanting to do things the "good old way", regardless of how good or bad these things are. ASP.NET MVC, Entity Framework, the list goes on.
Personally, I liked the concept of Datasets. It isn't very mature, and right now I don't use them, they don't do exactly what I want, but with a couple of significant upgrades (like many parts of the framework got), it could be the perfect data handling mechanism, fixing issues Java developers were fighting even before .NET came out (and are still fighting with). But people were so stuck in their mindset, that they begged to get the same old object based mechanism that ripple all over the place as soon as the model changes. Microsoft had little choice but to deliver, even if in the long run, it will hurt more than help...
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
5 comments
Watch Thread Reply