First experiments with (new) SQL Data Services

Last week I got my new login to the new SQL Data Services. As a reminder for all readers: SDS accelerates its plans to offer relational capabilities May 11, 2009 – Based on customer feedback, SDS has accelerated its plans and will be offering true relational capabilities through SQL Server’s existing network protocol, Tabular Data…

7

Concurrency in SSDS

A common concern with SSDS, and a common question I get in many presentations I’ve given is how to handle concurrency and entity versioning. Suppose you have the following sequence of events:   By default, SSDS will just accept the last Update and overwrite any changes made in between. If you want SSDS to be…

4

Another SSDS sample: BlogEngine.NET on SSDS

As a by-product of a project I’m working on, I’ve got a working version of BlogEngine.NET on SSDS. You can download the provider and other related components from LitwareHR’s web site releases section here. In the package you will find: The SSDS based BlogProvider An SSDS based Membership & Role Providers for the web site…

22

You don’t have a beta account with SSDS, but you’d like to use the latest LitwareHR anyway

Well, too bad…No, seriously now, as I mentioned in a previous post, we developed a "mock" (but fully functional for LitwareHR’s purposes) offline SSDS proxy to enable development independently from the live SSDS service. The offline proxy is included in LitwareHR latest release, but by default, online SSDS is configured. The offline database is also…

1

LitwareHR on SSDS available for download

The latest version of LitwareHR is now available for download here. From our CodePlex site: This new enhanced version of LitwareHR includes the following new features: Upgraded codebase for SQL Server Data Services support New "DataModel" New infrastructure for data access to SSDS (including caching, cross-container search, offline development, etc.) New UX Better graphics and…

4

Paging in SSDS & Parallel Queries

Tim Jarvis raised a good point in my post on cross-container queries which is: how to handle paging? SSDS currently supports a very simple paging pattern that uses the entityId. By design, the first 500 entities will be returned, but the entities will be returned in entityId order. So, you can get the next 500…

1

End to end demo of LitwareHR on SSDS

Here’s an end-to-end demo of LitwareHR using SSDS. The total demo lasts about 11 min and you will see: Tenant Provisioning and customization (takes the first 5 min approximately). I show the initial tenant provisioning (creation of a new tenant in LitwareHR, initial configuration, etc) and then a basic customization (e.g. look & feel, position…

2

LitwareHR on SSDS – Part VI – Unit of Work support

For years now, we have been using transactions in our systems. Years ago, there’s been a democratization of the more complex concepts underlying transaction management and we’ve been quite happy. On the Microsoft side there’s been technologies like: MTS, COM+, Enterprise Services, DTC and of course SQL Server; all of them providing great abstractions for…

3

More on parallel queries across containers in SSDS

Our current implementation of cross-Container queries follows a very common pattern and roughly looks like this (no exception handling shown for simplicity): public List<T> CrossContainerSearch( string[] containerIds, string query, SearchDelegate searchDelegate ) { Event[] events = new Event[ containerIds.Count() ]; Results<T> results = new Results<T>(); for( int x = 0; x< containerIds.Count(); x++ ) {…

3

LitwareHR on SSDS – Part V – Searching across Containers

In SQL Server Data Services, the scope of a query is bound to a Container, but in LitwareHR we had a requirement of searching entities across multiple tenants, and because in our implementation each tenant gets its own Container, we had to create a way of performing queries (the same query to be more precise)…

10