Editorials

JavaScript Patterns

JavaScript Patterns
What, how can there be patterns in a scripting language? That was what I asked myself when I came across the book titled “JavaScript Patterns.” So, I had to look into it. Here are a few bullets from the back cover:

  • Create objects that go beyond the basic patterns of using object literals and constructor functions
  • Learn the options available for code reuse and inheritance in JavaScript
  • Study sample JavaScript approaches to common design patterns such as Singleton, factory, Decorator, and more

Ok, I have to admit I’m more impressed with JavaScript than previously. This book contains a lot of great examples of practical code to get you going using Patterns in JavaScript. Take your JavaScript code to places you never dreamed of.

Private Cloud Question
I received the following question from Paulo. Paulo Writes:

I need to know how to create a DW in a private cloud using Relational databases like SQL server or Oracle.

I want to have the data distributed on multiple database instances of SQL Server sharded on dimensions allowing parallel queries to run, and have a cloud process aggregate or join the final results from each database.

Editor:
Paulo, you have a few options available to you.

  1. Oracle and Microsoft already have appliance systems made to do this kind of analysis. Microsoft released theirs with SQL Server 2008 R2 as a parallel data warehouse. Oracle has their offering based on their Sun servers, oracle db, and data warehousing engines.

    The key thing these appliances offer is automated sharding, distribution of your queries, and consolidation of the results all working seamlessly to already existing BI client utilities. The client tools are not aware of the difference between this system or a single server platform.

    These are both expensive solutions made for massive scale work. But the infrastructure works right out of the box.

  2. There are some third party sharding products that work with different databases. The ones I see the most are for MySQL. These tools expose SQL Queries in a natural form and route the work to the appropriate instance. Steve just did a SSWUGtv interview for this kind of software as a service.
  3. Another option would be for you to roll your own sharding technology, routing queries to multiple databases, and consolidating the results yourself. This could be done as a web service providing a unified interface to end users.
  4. SQL Azure could also be used with Federations. SQL Azure automatically shards databases based on your sharding function and routes requests appropriately. However, SQL Azure does not perform any post processing. You must write your own aggregations if results are returned from multiple instances.
  5. I’m sure there are many more technologies out there of which I am not aware. This is a common problem many have worked hard to solve.

If you are interested in further research I suggest a google search with terms like Parallel Data Warehouse. Before you go to google, be sure you have watched the last two SSWUGtv episodes, Cloud implementations, technologies, including software (specifically databases) and should you be using PowerPivot? Dan Clark talks about his thoughts. Is it the tool for your self-service BI?

If you’d like to share your thoughts drop an email to me at btaylor@sswug.org.

Cheers,

Ben

$$SWYNK$$

Featured Article(s)
Troubleshooting problems with SQL Server 2008 R2 Integration Services
In this article, Alexander Chigrik explains some problems that you can have when you work with SQL Server 2008 R2 Integration Services.

Featured White Paper(s)
All-At-Once Operations
Written by Itzik Ben-Gan with SolidQ

SQL supports a concept called all-at-onc… (read more)