Tuesday, April 1, 2014

Is there a better ETL approach? Data Warehouse is all about loading data from source to target. Traditionally, source system produces fil...

My answer to a  curious ETL question

Answer by William Sharp:
Connect directly and schedule the etl jobs to run at a rate that matches the update frequency of the source.  you can profile the source update dates to figure that out.
View Answer on Quora

Friday, March 21, 2014

What aspects of Data Quality influence the impact on Business Value?

Answer by William Sharp:
when I read your question the one word that stood out to me was documents.  to me, this means data entry deviations. In the context of the 6dimensions of data quality this means consistency checks (is a value referred to/spelled the same way across all the documents), completeness checks (is all the required information present in every document), accuracy checks (is each value from ever document correctly represented), duplication checks (is the information in the documents redundant)
View Answer on Quora

Sunday, March 9, 2014

Why should I use an existing ETL vs writing my own in Python for my data warehouse needs?

Answer by William Sharp:
Unless you want to enter the ETL software market, you will spend a lot of time writing software instead of migrating / managing data (which I am assuming is your real job). If this tool is going to be used by many developers in an enterprise setting, you will spend a lot of time writing code to manage the ETL code. Probably more than you think

This is classic buy over build ... buy because there are people dedicated to solving issues you haven't even thought of yet. Build if your needs are so unique that there isn't a solution out there (extremely rare)

View Answer on Quora

What things does a data scientist do?

Answer by William Sharp:
Put succinctly it is data management and statistics.  collect, clean and migrate data (just like everybody else does) and perform statistics on that data.  data science is a new marketing term that goes along with big data.  I'm not down playing statistics. I love stats. the 'science' part is a little (a lot) pretentious imho
View Answer on Quora

Tuesday, February 25, 2014

What are some good resources for learning about distributed computing? Why?

Answer by Alex Kamil:
Prerequisites

Courses


Notes
Other:
MapReduce: What's the best way to come up to speed on MapReduce, Hadoop, and Hive? )
  • Learn about Google technology stack (MapReduce, BigTable, Dremel, Pregel, GFS, Chubby, Protobuf, Snappy, Ganeti, Tenzing, Sawzall, BigQuery, F1, Spanner, Jingle, GCM, Google Talk, etc). (See
Google Research: What are the most interesting Google Research papers?
also  http://www.columbia.edu/~ak2834/... , http://www.cs.rutgers.edu/~muthu... , http://the-paper-trail.org/blog/...)
  • Setup account with Amazon AWS/EC2/S3/EBS and experiment with running Hadoop on a cluster with large data sets (you can use Cloudera or YDN images, but in my opinion you can better understand the system if you set it up from scratch, using the original distribution). Watch the costs: http://www.networkworld.com/news...
What are some promising open-source alternatives to Hadoop MapReduce for map/reduce?)
(This is a live list. Edits and additions welcome)
View Answer on Quora

Why is ETL associated mostly with data warehousing? Isn't ETL a procedure that eventually may apply when loading raw data to a transactio...

Why is ETL associated mostly with Data Warehousing?
Isn't ETL a procedure that eventually even may apply when loading raw data to a transactional databse?
View Question on Quora

Monday, February 3, 2014

Eventual consistency in simple terms

Unless you live under a rock, you know 15 minutes can save you 15% and big data is going to make life super awesome!

I don't know if GEICO has consistency issues but big data does and I get the feeling the IT media and software vendors are trying to hide that under a rock.

Big data does a few things really well.  Specifically, write data and scale.  Sounds awesome, huh?  Well, hold on.  In order to do this it has many, many copies of the data stored all over the place.  Sometimes the copy A is updated and sometimes copy B is updated.  The point is to be able to write data at amazing scale and speed and distributing the data all over the place achieves this very difficult task.

But, but ...


Don't worry, eventually these copies of data are synchronized to represent a single version of the truth.

But, but ...

The word eventually scare you?  It should.  You see, in order to write data at all times and scale infinitely, something had to give.  That something is the synchronization of distributed data.




Put simply, big data distributes multiple copies of a database, writes to whichever copy is available and synchronizes the data when it can.



What the ...


I know, right?  I'm curious if there is a distributed system out there that has ever reached consistency.  If the point is to write at all costs because you have such a high volume of updates, when is there time to synchronize?


For those who prefer a more technical definition of eventual consistency:


Eventual consistency is a consistency model used in distributed computing that informally guarantees that, if no new updates are made to a given data item, eventually all accesses to that item will return the last updated value.[1]


How does this necessity of invention sit with you?


[polldaddy poll=7768766]

Thursday, January 23, 2014

Microsoft Data Quality Services: Market Impact?

I have been getting my feet wet with Microsoft's Data Quality Services and as I read more and more I cannot help but think about how this feature introduction will impact the DQ market.  I know there will be some that scuff at this suggestion, but I think there a ripple forming in Seattle (and I am not talking about Richard Sherman) that is going to stir the market.

Here is why I think Microsoft has the potential to disrupt the DQ market ...

  •  most DQ solutions on the market cost more than the SMB market can afford

  • they require skill sets that are hard to come by and demand considerable compensation

  • many SMBs own MS SQL Server for some, if not all, their database needs


what do you think?

[polldaddy poll=7739976]

 

 

Thursday, September 26, 2013

Would you read my Big Data book?

As you my know, I am pretty critical of the "big data" hype in the information technology media.  One of my criticisms is the very term "big data".  Frankly, I hate the term as much as I hate the outrageous claims that are out there.

I prefer to talk about distributed systems which is really the differentiator in this space, in my humble [ref] degrees of humility can easily be argued[/ref] opinion.

As I researched distributed systems (DS), I came across a topic that struck a chord with my passion for data quality.  The topic was the CAP Theorem and notion of eventual consistency.  At this point, I am becoming obsessed with the notion of eventual consistency.

As a result, I am convinced I need to write a book on the topic and its implications on deploying distributed systems to a business and its decisions.

However, before I get too far down the line, I want to know is ...

would you read my book about eventual consistency and how that would impact a distributed system's ability to aid in the process of making business decisions?



Please vote and let me know!
[polldaddy poll=7427832]

Wednesday, September 25, 2013

MySQL: loading data from an external file

Path of least resistance


When you need to get something done quickly, the community edition of MySQL is a great option.   It has just what you need in terms of a management studio and requires very little setup.

Yesterday I was in that exact circumstance.  I have some data files that I need to analyze and not much time to do it.  So I downloaded the community edition of MySQL (found here).

Data time!


As I said, I needed to get some analysis done quickly, so I created a few tables with your basic ANSI  create table statements and I was ready to load my data.

I was loading data from delimited sources not located in the default MySQL data directory so I had to include a few wrinkles in my load data statement. By the way, load data is the command for loading data from a file into a MySQL table.

The wrinkles


Since I was loading data from an external file I had to include the following statement in my load data statement:
 Load data LOCAL INFILE 'INSERT FILE PATH HERE'
I was using a comma delimited file so I had to include the following statement as well:
FIELDS TERMINATED BY ','
And finally, I had column headers in external file so the following statement was necessary:
IGNORE 1 LINES
The load script, when complete, looked like this:
Use SCHEMA NAME;
Load data LOCAL INFILE Load data LOCAL INFILE 'INSERT FILE PATH HERE'
into table TARGET TABLE HERE
FIELDS TERMINATED BY ','
IGNORE 1 LINES;


Nothing too magical, but I wanted to pass it along and, hopefully, save some of you the time in looking up the statements.

More information on MySQL load data parameters can be found here

What data quality is (and what it is not)

Like the radar system pictured above, data quality is a sentinel; a detection system put in place to warn of threats to valuable assets. ...