Windows Azure Platform – NoSQL, no peace

A 25 page’s paper by Andrew J.Brust (not including cover and TOC) provides an introduction to NoSQL database technology, and its major subcategories, for those new to the subject; an examination of NoSQL technologies available in the cloud using Windows Azure and SQL Azure; and a critical discussion of the NoSQL and relational database approaches, including the suitability of each to line-of-business application development.

 

The paper:

  • Concludes

  • We saw how NoSQL databases are suitable for data management that is light-duty but large-scale, and how they work well for content management requirements of many stripes. We also saw, again and again, that relational databases are best for line-of-business applications. The database consistency, query optimization and set-based declarative query capability that relational databases have provided for decades is still required by most LOB applications; this has not changed.

Microsoft researchers claims NoSQL needs standardization

“The nascent NoSQL market is extremely fragmented, with many competing vendors and technologies. Programming, deploying, and managing NoSQL solutions requires specialized and low-level knowledge that does not easily carry over from one vendor’s product to another,” the two researchers, Erik Meijer and Gavin Bierman, write in a paper published inthe April issue of Communications.

 

More information available here

Microsoft joining the graphdb competition

Trinity is a graph database developed by Microsoft research department
More information available here:
http://research.microsoft.com/en-us/projects/trinity/

Pattern Matching Database Records with F#

A great article with code sample using new functionnal language from the microsoft .Net aka F# (inspired from CAML) has been published:  http://msdn.microsoft.com/en-us/magazine/gg598923.aspx

 

Ambar Ray, as an exercise, have implemented four matching algorithms using F# pattern matching and asynchronous programming features to quickly calculate the aggregate match score.

The four matching algorithms used in this example for attribute deduplication processes:

  • absolute match
  • partial match
  • Soundex
  • lookup match

It demonstrate how matching the result and scoring when appropriate.

Code sample is available here

Will NoSQL bring the next big language for "The cool kid" generation ?

NoSQL solution have bring a new generation of technologies(mainly by taking advantage of distributed system) and engineers but also popularize a bunch of new programming languages such as Erland,Ruby etc ….

 

It may be fun to take a moment and think about this very last point and write few lines about this: new languages. I’ll dedicate few line trying to answer the 1$ question; “What could be the next big one ? (programming language)”


First, few observations about programming languages:

  • Language allows programmer to express algorithms precisely
  • Language shapes the way we think, because it determine the ways and limits we can think
  • Big language have always been backed up by a Big Company. Of course Java had Sun/Oracle/IBM but not only; C# and Visual Basic had Microsoft.  C++ were supported by both AT&T and Microsoft. JavaScript by Netscape, Microsoft and Sun. Among the most well known.
  • You love a language for its expressiveness (while nothing exist to formalizing such statements)regardless of ease (theoretical expressivity)concisely and readily (practical expressivity)

 

Second, the technical/features approach:

  • “C# is imperative,object oriented,functional,generic,reflective”
  • “O’Caml is a static type system, type inference, parametric polymorphism, tail recursion, pattern matching, first class lexical closures, functors (parametric modules), exception handling, and incremental generational automatic garbage collection.”

 

While it properly describe programming language, by providing good classification and also reflecting the language philosophy and capability it doesn’t bring any information or leads about its popularity.

 

Third, a PHP story:

PHP is a very good sample as one of the latest largely adopted programming language, it wasn’t oriented object at first, and even when object-oriented programming became supported by PHP four, most PHP builders didn’t change their approach.

Its popularity and adoption came from other criteria such as:

  • answering at best a single but critical and trendy need: creating dynamic website
  • large and helpful community, ease of access and use

Flash could be another good sample or failure …. mainly due technical flaws. Language technical feature is not that important, but still required.

GO (programming language created by Google) is probably another failure story….

At last,conclusion

About the next big new language:

  • Must bring new and strong enough technical aspect
  • Must be fun and efficient enough
  • Must be loved (for whatever reason)
  • Must help and ease doing something highly demanded
  • The current balance is a factor for upcoming change

 

This being said ….  the 1$ question remain. We didn’t answer much ….so let’s take some risk then ;)
  1. We can forgot about some language, we had a generation of programmers (well the old school one you may be part of ) who played with C,C++,Java,Perl and PHP …. you can now forget about all of them.
  2. We can keep an eye on some language such as Ruby (so hype few times ago) … now replaced by Erlang and Clojure (so close from Lisp) at top of the trend….
  3. F# came along pushed by Microsoft (close to the trend: Caml has been revived back ! )….
  4. Next big language could be related to mobile platform (ease development and port)
You can monitor http://langpop.com/, aka “Programming Language Popularity” website awaiting a final answer



Windows Azure introduce data marketplace

“One stop shop for Data. Get all data you need for your insights: trusted commercial and premium public domain data.”

90 public and commercial data sets made available(so far) on the new Microsoft’s big data platform: Azure

More information available on their website:   https://datamarket.azure.com/

Windows world and NoSQL: where do we stand ?

While we probably all agree to define NoSQL has a massive trend, we may disagree to define microsoft windows as the largest computer platform …. But still, it may sounds like a discrepancy to find out so few NoSQL products available on the leading platform market: Microsoft Windows.

Quick tour, as of today, NoSQL solution available over the windows world:

  • Raven DB document oriented database,open source, especially designed for the .NET platform is the leading answer
  • Voldemort (written using the cross-platform language: Java), few info can be found here
  • MongoDB provide windows binaries
  • Cassandra using the following specific instruction
  • Keyspace provide  .NET client
  • Eloquera DB object oriented database which maintains an SQL and LINQ interfaces

Finally i have to mention F#, probably  the smartest move  by Microsoft, its a functional programming language inspired from Objective CAML