.NET ORM Dapper released as open source |
Written by Kay Ewbank |
Wednesday, 06 April 2011 |
If your website puts a heavy load on the need to convert requests into queries and return the result from an underlying SQL database, Dapper, a new open-source tool might provide a solution. Dapper, a simple SQL object relational mapper (ORM) for SQL Server and .NET, has been released as open source. Note that this Dapper is completely different and unrelated to the Dapper Data Mapper released by Yahoo a couple of years ago. Dapper Data Mapper is is a tool that enables users to create update feeds for their favorite sites and website owners to optimize and distribute their content in new ways. Dapper ORM also handles data, but in this case it takes a page request and passes it to SQL Server, then returns the data in a very efficient way. At the most general, ORMs take a request from an application and handles the communication with the database the application works with. The ORM converts the data request from the application into a query format that the database will understand, then converts the results of the query back into the format used by the application. There are many ORMs on the market, which may make you wonder why we need yet another. The answer is that Dapper has been designed to let sites that are experiencing very high loads respond more rapidly. Dapper has been designed to be almost as fast as hand-tuned code using SqlDataReader and the benchmarks it produces are within milliseconds of the results if you do write hand-tuned SQL code. Sam Saffron, a developer working on the Q&A site Stack Overflow explained that the team at Stack Overflow created Dapper in response to the load that Google's web-spidering processes placed on the site. Unlike many sites, Stack Overflow’s content changes rapidly as people ask and answer questions. This means that Google's web spider is processing up to ten pages a second.
Stack Overflow designed Dapper to handle a specific problem; mapping parameterized SQL to business objects. They haven’t implemented it as a full blown ORM to handle database features such as relationships, just to take all the inline SQL and deal with it efficiently. There’s a good description of the ORM and what it does on Sam Saffron’s blog, as well as a link to the open source download.
|
Last Updated ( Wednesday, 06 April 2011 ) |