I recently wrote an article with Enterprise Systems Journal on how retailers can benefit from innovations in “always on” databases. This story is based on the real-life experiences of one of our customers during the last holiday shopping season. They saw a spike in traffic and quickly scaled their frontline data warehouse built with Aster Data Systems. This allowed them to maintain the service level agreements with the business for product cross-promotion without needing to wait to plan an upgrade in the off-season.
After next week, let us know - how did your favorite e-tailers fare on ‘Black Friday’ and ‘Cyber Monday’? Did their recommendation engines deliver, or did they leave cash in your wallet that got spent elsewhere?
I’m pleased to have been given the opportunity to introduce this new approach to in-database analytics and parallel data processing, in general. The most consistent feedback I had was that there wasn’t enough time to cover this topic in-depth, and attendees were eager to learn more! In that case, my previous post on educational resources for MapReduce may be of interest.
Since Aster Data Systems introduced In-Database MapReduce for the Aster nCluster relational database, there has been tremendous interest in the data warehousing and technology community, with recent coverage in the NY Times and by influential blogs like DBMS2, Beyond Search, and Cloud N, just to name a few.
Hopefully TDWI will turn this into a 1/2-day course in the future. (If you agree, feel free to contact them at info@tdwi.org).
If anyone knows of other good resources on this emerging topic, please feel free to put links in the comments here.
I was at Defrag 2008 yesterday and it was a wonderful, refreshing experience. A diverse group of Web 2.0 veterans and newcomers came together to accelerate the “Aha!” moment in today’s online world. The conference was very well organized and there were interesting conversations on and off the stage.
The key observation was that individuals, groups and organizations are struggling to discover, assemble, organize, act on, and gather feedback from data. Data itself is growing and fragmenting at an exponential pace. We as individuals feel overwhelmed by the slew of data (messages, emails, news, posts) in the microcosm, and we as organizations feel overwhelmed in the macrocosm.
The very real danger is that an individual or organization’s feeling of being constantly overwhelmed could result in the reduction of their “Aha!” moments - our resources will be so focused on merely keeping pace with new information that we won’t have the time or energy to connect the dots.
The goal then is to find tools and best practices to enable the “Aha!” moments - to connect the dots even as information piles up on our fingertips.
My thought going into the conference was that we need to understand what causes these “Aha!” moments. If we understand the cause, we can accelerate the “Aha!” even at scale.
Earlier this year, Janet Rae-Dupree published an insightful piece in the International Herald Tribune on Reassessing the Aha! Moment. Her thesis is that creativity and innovation - “Aha! Moments” - do not come in flashes of pure brilliance. Rather, innovation is a slow process of accretion, building small insight upon interesting fact upon tried-and-true process.
Building on this thesis, I focused my talk on using frontline data warehousing as an infrastructure piece that allows organizations to collect, store, analyze and act on market events. The incremental fresh data loads in a frontline data warehouse add up over time to build a stable historical context. At the same time, applications can contrast fresh data with historical data to build the small contrasts gradually until the contrasts become meaningful to act upon.
I’d love to hear back from you on how massive data can accelerate, rather than impede, the “Aha!” moment.
Forget about total cost of ownership (TCO). In the Internet age, scaling up can be the biggest cost factor in your infrastructure. And overlooking the scaling challenge can be disastrous.
Take Bob, for instance. Bob is the fictional database manager at FastGrowth, an Internet company with a fast-growing user base. Bob is 36 and has done more than a dozen data warehouse deployments in his career. He’s confident in his position. Granted, this is his first Internet gig… But this shouldn’t matter a lot, right? Bob’s been there, done that, got the tee-shirt.
Bob’s newest gig is to implement a new data warehouse system to accommodate FastGrowth’s explosive data growth. He estimates that there will be 10TB of data in the next 6 months, 20TB in the next 12, and 40TB 18 months from now.
Bob needs to be very careful about cost (TCO); getting way overboard on his budget could cost him his reputation or even (gasp) his job. He thus asks vendors and friends how much hardware and software he needs to buy at each capacity level. He also makes conservative estimates about the number of people required to manage the system and its data at 10, 20, and 40 terabytes.
Fast-forward 18 months. Bob’s DW is in complete chaos; it can hardly manage half of the 40 TB target and it required twice the number of people and dollars … so far. Luckily for Bob, his boss (Suzy), has been doing Internet infrastructure projects for her whole career and knew exactly what mistake Bob made (and why he deserves a second chance.)
What went wrong? Bob did everything almost perfectly. His TCO estimates at each scale level were, in fact, correct. But what he did not account for was the effort of going from one scale level to the other in such a short time! Doubling the size of data every 6 months is 3x faster than Moore’s law. That’s like trying to build a new car that is 3x faster than a Ferrari. As a result, growing from 10TB to 20TB in six months may cost many times more than (in terms of people, time and dollars) running a 20TB system for 6 months.
In some way, this is no news. The Internet space is full of stories where scaling was either too expensive or too disruptive to be carried out properly. Twitter, with its massive success, has had to put huge effort to scale up its systems. And Friendster lost the opportunity to be a top social network partly because it was taking too long to scale up its infrastructure. Moreover, as new data sources become available, companies outside Internet are facing similar kind of challenges – scaling needs that are too hard to manage!
So how can we reason about this new dimension of infrastructure cost? What happens when data is growing constantly, and scaling up ends up being the most expensive part of most projects?
The answer, we believe, is that the well-known concept of TCO not good enough to capture scaling costs in this new era of fast data growth. Instead, we need to also start thinking about the Total Cost of Scaling – or TCS.
Why is TCS useful? TCS captures all costs – in terms of hardware, software and people – that are required to increase the capacity of the infrastructure. Depending on the application, capacity can mean anything such as amount of data (e.g. for data warehousing projects) or queries per second (for OLTP systems.) TCO together with TCS gives a true estimate of project costs for environments that have been blessed with a growing business.
Let’s see how TCS works in an example. Say that you need 100 servers to run your Web business at a particular point in time, and you have calculated the TCO for that. You can also calculate the TCO of having 250 servers running 12 months down the road, when your business has grown. But going from 100 severs to 250 – that’s where TCS comes in. The careful planner (e.g. Bob in his next project) will need to add all three numbers together – TCO at 100 servers, TCO at 250 servers and TCS for scaling from 100 to 250 – to get an accurate picture of the full cost.
At Aster, we have been thinking about TCS from day one exactly because we design our systems for environments of fast data growth. We have seen TCS dominating the cost of data projects. As a result, we have built a product that is designed from the ground-up to make scalability seamless and reduce the TCS of our deployments to a minimum. For example, one of our customers scaled up their Aster deployment from 45 to 90 servers with a click of a button. In contrast, traditional scaling approaches – manual, tedious and risky – bloat TCS and can jeopardize whole projects.
As fast data growth becomes the rule rather than the exception, we expect more people to start measuring TCS and seek ways to reduce it. As Francis Ford Coppola put it, “anything you build on a large scale or with intense passion invites chaos.” And while passion is hard to manage, there is something we can do about scale.
In a down economy, marketing and advertising are some of the first budgets to get cut. However, recessions are also a great time to gain market share from your competitors. If you take a pragmatic, data-driven approach to your marketing, you can be sure you’re getting the most ROI from every penny spent. It is not a coincidence that in the last recession, Google and Advertising.com came out stronger since they provided channels that were driven by performance metrics.
That’s why I’m excited that Aster Data Systems will be at Net.Finance East in New York City next week. Given the backdrop of the global credit crisis, we will learn first-hand the implications of the events in the financial landscape. I am sure the marketing executives are thinking of ways to take advantage of a change in the financial landscape, whether it’s multi-variate testing, more granular customer segmentation, or simply lowering the data infrastructure costs associated with your data warehouse or Web analytics.
Look us up if you’re at Net.Finance East - we’d love to learn from you and vice-versa.
At long last, I get to smash some hardware! Ever since we started the recovery-oriented computing (ROC) project at Stanford and Berkeley in 2001, I’ve been dreaming of demo-ing ROC by taking a sledgehammer to a running computer and have the software continue running despite the damage. I never quite had the funds for it!
The Aster nCluster analytic database embodies so much of ROC (microrebooting, undo, fault-injection-based testing, and so on), that fulfilling this “childhood dream” within the context of nCluster is a perfect match. It’s hilarious to watch, but for me it was a great experience; check out Recovery-Oriented Computing for Databases (the actual demonstration) and DBA’s Gone Wild (just for fun). The only thing I’d do differently is get a bigger sledgehammer, because some of that hardware was really built to last (hats off to HP )!
Beyond all the fun involved, there is also a broader message. A lot of data warehouses are way too fragile, and too many people believe that investing in more solid hardware is the way to go. Frontline business applications have to be able to withstand a wide range of failures, and what I do in these videos is really just scratching the surface.
At Aster, “always on” availability is much more than a key marketing message - it’s a core database innovation founded in recovery-oriented computing, which minimizes both planned and unplanned downtime for our customers. Whether it’s an analytic application, or an analyst requiring 24/7 queries for their modeling, data mining, or business intelligence (BI) report - having a database they can depend on is critical.
Aster announced the general availability of our nCluster 3.0 database, complete with new feature sets. We’re thrilled with the adoption we saw before GA of the product, and it’s always a pleasure to speak directly with someone who is using nCluster to enable their frontline decision-making.
Lenin Gali, director of business intelligence for the online sharing platform ShareThis, is one such friend. He recently sat down with us to discuss how Internet and social networking companies can successfully grow their business by rapidly analyzing and acting on their massive data.
It is really remarkable how many companies today view data analytics as the cornerstone of their businesses.
aCerno is an advertising network that uses powerful analytics to predict which advertisements to deliver to which person at what time. Their analytics are performed on completely anonymous consumer shopping data of 140M users obtained from an association of 450+ product manufacturers and multi-channel retailers. There is a strong appetite at aCerno to perform analytics that they have not done before because each 1% uplift in the click-through rates is a significant revenue stream for them and their customers.
Aggregate Knowledge powers a discovery network (The Pique Discovery™ Network) that delivers recommendations of products and content based on what was previously purchased and viewed by an individual using the collective behavior of the crowds that had behaved similarly in the past. Again, each 1% increase of engagement is a significant revenue stream for them and their customers.
ShareThis provides a sharing network via a widget that makes it simple for people to share things they find online with their friends. In a short period of time since their launch, ShareThis has reached over 150M unique monthly users. The amazing insight is that ShareThis knows which content users actually engage with, and want to tell their friends about! And in its sheer genius, ShareThis gives away its service to publishers and consumers free; relying on delivering targeted advertising for its revenue: by delivering relevant ad messages while knowing the characteristics of that thing being shared. Again, the better their analytics, the better their revenue.
Which brings me to my point: data analytics is a direct contributor of revenue gains in these companies.
Traditionally, we think of data warehousing as a back-office task. The data warehouse can be loaded in separate load windows; loads can run late (the net effect is that business users will get their reports late); loads, backups, and scale-up can take data warehouses offline –which is OK since these tasks can be done on non-business hours (nights/weekends).
But these companies rely on data analytics for their revenue.
· A separate exclusive load window implies that their service is not leveraging analytics during that window;
· A late-running load implies that the service is getting stale data;
· An offline warehouse implies that the service is missing fresh trends
Any such planned or unplanned outage results in lower revenues.
On the flip side, a faster load/query provides the service a competitive edge – a chance to do more with their data than anyone else in the market. A nimbler data model, a faster scale-out, or a more agile ETL process helps them implement their “Aha!” insights faster and gain revenue from a reduced time-to-market advantage.
These companies have moved data warehousing from the back-office to the frontlines of business: a competitive weapon to increase their revenues or to reduce their risks.
In response, the requirements of a data warehouse that supports these frontline applications go up a few notches: the warehouse has to be available for querying and loading 365×24x7; the warehouse has to be fast and nimble; the warehouse has to allow “Aha!” queries to be phrased.
We call these use cases “frontline data warehousing“. And today we released a new version of Aster nCluster that rises up those few notches to meet the demands of the frontline applications.
Back in the days when Mayank, George and I were still students at Stanford, working hard to create Aster, we had a pretty clear vision of what we wanted to achieve: allow the world to do more analytics on more data. Aster has grown tremendously since these days, but that vision hasn’t changed. And one can see this very clearly in the new release of our software, Aster nCluster 3.0, which is all about doing more analytics with more data. Because 3.0 introduces so many and important features, we tried to categorize them in three big buckets: Always Parallel, Always On, and In-Database MapReduce.
Always Parallel has to do with the “Big Data” part of our vision. We want to build systems that can handle 10x – 100x more data than any other system today. But this is too much data for any single “commodity server” (that is, a server with reasonable cost) that one can buy. So we put a lot of R&D effort into parallelizing every single function of the system – not only querying, but also loading, data export, backup, and upgrades. Plus, we allow our users to choose how much they want to parallelize all these functions, without having to scale up the whole system.
Always On also stems from the need to handle “Big Data”, but in a different way. In order for someone to store and analyze anything from a terabyte to a petabyte, she needs to use a system with more than a single server. But then availability and management can become a huge problem. What if a server fails? How do I keep going, but also how do I recover from the failure (either by introducing the same server or a new, replacement, server) with no downtime? And how can I seamlessly expand the system, in order for me to realize the great promise of horizontal scaling, without taking the system down? And, finally, how do I backup all these oceans of data without disrupting my system’s operation? All these issues are handled in our new 3.0 release.
We introduced In-Database MapReduce in a previous post so I won’t spend too much time here. But I want to point out how this fits our overall vision. Having a database which is always parallel and always on allows you to handle Big Data with high performance, low cost, and high availability. But once you have all this data, you want to do more analytics - to extract more value and insights. In-Database MapReduce is meant to do exactly that – push the limits of what insights you can extract by providing the first-ever system that tightly integrates MapReduce (a powerful analytical paradigm) with a wide-spread standard like SQL.
These are the big features in nCluster 3.0, and in the majority of our marketing materials we stop here. But I also want to talk about the other great things we have in there; things more subtle or technical to mention in the headlines, but still very important. We’ve added table compression features that offer online, multi-level compression for cost-savings. With table compression, you can choose your compression ratio and algorithm and have different tables compressed differently. This paves the way for data life-cycle management that can compress data differently depending on its age.
We’ve also implemented richer workload management to offer quality of service for fine-grained mixed workload prioritization via priority and fair-share based resource queue. You can even allocate resource weights based on transaction number or time (useful when both big and small jobs occur).
3.0 also has Network Aggregation (NIC “bonding”) for performance and fault tolerance. This is a one-click configuration that automates network setup – usually a tedious error-prone sys admin task. And that’s not the end of it – we also are introducing an Upgrade Manager that automates upgrades from one version of nCluster to another, including what most frequently breaks upgrades: the operating system components. This is another building block of the low cost of ongoing administration that we’re so proud of achieving with nCluster. I could go on and on (new SQL enhancements, new data validation tools, heterogeneous hardware support, LDAP authentication, …), but since blog space is supposed to be limited, I’ll stop here. (Check out our new resource library if you want to dig deeper.)
Overall, I am delighted to see how our product has evolved towards the vision we laid out years back. I’m also thrilled that we’re building a solid ecosystem around Aster nCluster – we now support all the major BI platforms – and are establishing quite a network of systems integrators to help customers with implementation of their frontline data warehouses. In a knowledge-based economy full of uncertainty, opportunities, and threats, doing more analytics on more data will drive the competitiveness of successful corporations – and Aster nCluster 3.0 will help you deliver just that for your own company.
Perhaps if you’ve got a hammer, everything looks like a nail, but it does strike us here at Aster that one of the underlying causes of the liquidity crisis is a problem with data and analytics. After all, the reason that banks don’t want to lend to each other anymore is that they don’t trust that the other banks really know the value of their mortgage-backed securities (MBS) – mainly because they themselves don’t trust the value of their own.
So why is this? Why is it hard for banks to understand the value of a particular mortgage backed security? Simple – a bank holding those MBS’s doesn’t have access to the granular data on the underlying individual assets (the mortgages, with their underlying properties and payees) that make up the pooled asset. Simple questions such as “In what zip codes are the properties backing these mortgages, and by what percentage have median property prices changed since the mortgage was issued?” can’t easily be answered. In other words, unlike stocks, for which you have easy access to a company’s full financial statements to value, the underlying value of an MBS is difficult to figure out because the data needed to price the underlying asset simply is unavailable.
The reason for this is that traditional MBS modeling has focused much more on the behavior of those securities under varying interest rate scenarios because, historically, the ratio of pre-payment vs. held-to-term of those mortgages has been the big swing factor in how much those securities were worth. When interest rates fall, people are more likely to pay off or refinance their existing mortgage, and when interest rates rise, people are more likely to hold onto their existing (now lower interest rate) mortgage. The default rate on the underlying mortgage was traditionally taken as a given, and not predictively modeled at all.
People sometimes ask us – what is the price for not implementing a world-class analytics capability. I think now we can answer, “$700 billion, and counting.” What has emerged to be crucial in this crisis are two pieces of data that are not tracked by standard models: 1) Is the current property value above or below the value of the mortgage(s) on the property, and 2) Can a mortgage holder afford his or her mortgage payments?
This has to change. If mortgages are going to continue to be securitized in the future, it will be necessary to have valuation models that track details on the underlying real assets (specifically, the property values, and the owners’ ability to pay) on at least a monthly, if not more frequent basis. We would propose a national centralized registry for the mortgage securitization industry that matches property locations to mortgage pools, and provides a number of valuation models for those properties (analogous to Zillow’s property valuation model). It would also provide ongoing tracking of either a FICO score or more granular credit quality information for those mortgage holders. In addition – and this is crucial - a centralized repository of the detailed data disclosed by the mortgage applicant in the original approved mortgage application needs to be retained in this registry. On top of this shared database, financial services companies would be free to create valuation and pricing models based on whatever predictive drivers they belief influence the default and payment rates.
Obviously such a centralized repository would require bullet-proof security and privacy handling, but such a registry needs to be established if we’re not going to fall into this mess all over again. Similar registries would be appropriate for student loan pools and other securitized loan categories such as auto-loans. Is anyone else thinking that this is all a matter of data?