Skip to main content

Posts

Showing posts with the label NoSQL

Azure Data Studio–PostgreSQL support

With the latest release of Azure Data Studio, a new (preview) extension was introduced that supports PostgreSQL. Enabling the extension Open up Azure Data Studio . Click on the Extension tab on the left. Click in the Search Extensions in Marketplace textbox and start typing ‘PostgreSQL’. You should find the PostgreSQL extension from Microsoft. Select he Extension and click Install.

CQRS+Event Sourcing Blog series

As I’m working on a project where are using Event Sourcing, I try to read all material I can find about the topic. One great resource is the blog series by William Verdolini about CQRS + Event Sourcing. An overview of the content: Intro CQRS+ES Architecture Inversion of Control 3.1 Command Handling via DI 3.2 Service Locator 3.3 Typed Factory 4. Workers Validation Logic Set Validation Have I understood? Some concerns Event Store NEventStore Aggregate Snapshots Identity Mapping Legacy Migration Event Upconversion Async matters UI Notification with SignalR OWIN + SignalR + Castle.Windsor NEventStore PollingClient Don’t forget to have a look at the associated code as well: https://github.com/williamverdolini/CQRS-ES-Todos/

Azure DocumentDB playground

If you want to learn about Azure DocumentDB , Microsoft's NOSQL solution in the Cloud, go take a look at the DocumentDB Query Playground . It gives you an interactive environment to try the rich querying functionality that Azure DocumentDB offers over schema-free JSON data.

MongoDB: System error 1067 has occurred.

After installing MongoDB as a windows service I wasn’t able to get it started. Instead the following error message was shown: The Mongo DB service is starting. The Mongo DB service could not be started. A system error has occurred. System error 1067 has occurred. The process terminated unexpectedly. When MongoDB crashes like this, you have to do some clean up work before trying to start it again: Delete the following file inside the /data/db/ directory: mongod.lock mongod.exe –repair Start the mongod service again

Comparing NO-SQL solutions

There are a lot of NO-SQL solutions out there. So choosing one, can be a daunting task. Kristof Kovacs made a comparison between of Cassandra , Mongodb , CouchDB , Redis , Riak , Couchbase (ex-Membase) , Hypertable , ElasticSearch , Accumulo , VoltDB , Kyoto Tycoon , Scalaris , Neo4j and HBase . So if you are interested in NO-SQL solutions, but need some help in finding one that fits your purposes, go read his blog post: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

Developing Big Data solutions on Windows Azure

The Pattern and Practices team has released a preview of their new e-book: ‘Developing Big Data solutions on Windows Azure’. The book can be downloaded from the Patterns & Practices Windows Azure Guidance site . Topics Covered in This Book What is Big Data? Getting Started with HDInsight Collecting and Loading Data Performance Queries and Transformations Consuming and Visualizing Results Debugging, Testing, and Automating HDInsight Solutions Managing and Monitoring HDInsight Scenario 1: Iterative Data Exploration Scenario 2: Extra, Transform, Load Scenario 3: HDInsight as a Data Warehouse Scenario 4: Enterprise BI Integration

Unofficial Redis for Windows

While looking for a good distributed cache solution in ASP.NET I felt in love with Redis , a fast and feature rich key-value store solution. Unfortunately there is no official support(yet) for Redis on Windows. However the Microsoft Open Tech group created an unofficial port that works great! From the Redis site: The easiest way to install Redis is through NuGet : Open Visual Studio Create an empty solution so that NuGet knows where to put the packages Go the Package Manager Console : Tools –> Library Package Manager –>Package Manager Console Type Install-Package Redis-64 Go to the Packages folder and browse to the Tools folder. Here you’ll find the Redis-server.exe . Double click on it to start it. Redis is ready to use and start’s listening on a specific port(6379 in my case) Let’s open up a client and try to put a value into Redis. Start Redis-cli.exe . It already connects to the same port by default. Add a value by executing...

RavenDB: Change the primary key convention

Every document in RavenDB should have a unique identifier. By default it searches for properties named Id. If it couldn’t find such a property an unique identifier is created for you behind the scenes(but is not available through a property on your object). But what if you don’t like this convention? For example what if you want to call your identifier properties ‘key’ instead of ‘id’. Changing this convention is easy in RavenDB: var documentStore = new EmbeddableDocumentStore { DataDirectory = "App_Data", UseEmbeddedHttpServer = true }; var store= documentStore.Initialize(); store.Conventions.FindIdentityProperty = prop => { return prop.Name .Equals("key",StringComparison.InvariantCultureIgnoreCase); };

SisoDb

In my journey through NoSQL(Not Only SQL) land I recently discovered the Simple Structure Oriented Db(SisoDb) project .  It follows a completely different approach then most NoSQL database implementations by building on top of your existing SQL Server infrastructure. I’m still sceptical about the performance impact but I have to agree that re-using all the great infrastructure that SQL-server provides like security, tables for the DBA’s, replication, scheduler etc, sounds very tempting. How does it work? SisoDb stores your POCO-graphs  using JSON which enables us to go from a POCO to persistable JSON. For each entity there will be two tables (tables are created on the fly). One holds the Id of the entity and the Json-representation. The second table holds a key-value representation of each indexed property of the entity. If an entity contains complex types the scalar properties of these custom classes will be stored and indexed to.   The project is hosted here: h...