Showing posts with label NoSQL. Show all posts
Showing posts with label NoSQL. Show all posts

Thursday, May 9, 2013

NoSQL helps push the envelope of online advertising

NoSQL helps push the envelope of online advertising

The global online advertising market exceeded $94 billion last year, and nearly a quarter of that total can be attributed to sales of banner ads. The banner ad market is vast and complex; advertisers typically cut deals to buy banners in bulk from Web publishers (or aggregators), who may also bundle in sales leads, offline advertising, and more.

Alternatively, when publishers have been saddled with inventory they couldn't sell, they've often turned to ad exchanges, where advertisers bid for online ad space, typically paying a fraction of published ad rates. But as the targeting of online ads has improved, exchanges are becoming more viable as a first choice for both advertisers and publishers.

[ Download InfoWorld's Big Data Analytics Deep Dive for a comprehensive, practical overview of this booming field. | Harness the power of Hadoop with InfoWorld's 7 top tools for taming big data. | Get started with NoSQL -- these 10 standout NoSQL databases are worth a try. ]

A number of hot startups are taking this model a step further with real-time bidding (RTB) platforms, which enable advertisers to spread their ad purchases across multiple publishers easily -- and buy ads one at a time in real time at the most competitive price. The RTB market is scorching, with IDC predicting it'll capture 20 percent of the banner ad market by 2016.

One such RTB startup, Acuity, is using the Aerospike NoSQL key value store database as a competitive advantage, enabling the analysis and delivery of billions of ad impressions daily.

Acuity claims to have several advantages in a highly competitive market. To begin with, there's the company's database of 500 million consumer profiles, which include demographic info, online behavior, and so on. That data is fed to proprietary algorithms, which the company sees as its secret sauce to ensure ads reach the right visitors at the right moment to increase the ad click rate.

Finally, there's the brute force of the real-time horsepower and reliability under the hood. "Big data technologies are critical to drive the RTB platforms efficiently. To stand apart from the crowd, our real-time bidding system needs to be as fast as possible," explains Tal Hayek, AcuityAds co-founder and CEO. "It became absolutely critical that we identify a database, which would enable us to respond to opportunities in less than 50 milliseconds even as we analyze billions of ad impressions each day."

Acuity's platform has enabled the company to achieve that goal. In both of its data centers, Acuity has deployed a six-node Aerospike cluster, each of which features six dual-processor systems with Intel Xeon CPUs, 48GB of RAM, and four solid-state drives. The database clusters manage 4 terabytes of unique real-time data and process 60,000 transactions per second.

"We handle to close to 5 billion transactions per day, and we hit the Aerospike database multiple times for each of those transactions, so we count on the ability to talk to each Aerospike cluster in sub-millisecond time," Mr. Hayak notes. "That's one of the key things we look for."

With respect to reliability, Aerospike's shared-nothing architecture provides automatic fail-over and replication in case of node failure to guarantee no degradation in service. "Continuous availability is very important in supporting real-time bidding," Mr. Hayek says. He adds that the platform has exceeded expectations for both availability and performance.

By giving advertisers more power in the market place, RTB platforms like Acuity are sure to make this segment of online advertising even more competitive for publishers and advertisers alike. And with big data technology like Aerospike running on high-performance infrastructure, new benchmarks are being set for real-time Web interaction.

This article, "NoSQL helps push the envelope of online advertising," was originally published at InfoWorld.com. Read more of Andrew Lampitt's Think Big Data blog, and keep up on the latest developments in big data at InfoWorld.com For the latest business technology news, follow InfoWorld.com on Twitter.


View the original article here

Wednesday, May 8, 2013

NoSQL showdown: MongoDB vs. Couchbase

NoSQL showdown: MongoDB vs. Couchbase

Document databases may be the most popular NoSQL database variant of them all. Their great flexibility -- schemas can be grown or changed with remarkable ease -- makes them suitable for a wide range of applications, and their object nature fits in well with current programming practices. In turn, Couchbase Server and MongoDB have become two of the more popular representatives of open source document databases, though Couchbase Server is a recent arrival among the ranks of document databases.

In this context, the word "document" does not mean a word processing file or a PDF. Rather, a document is a data structure defined as a collection of named fields. JSON (JavaScript Object Notation) is currently the most widely used notation for defining documents within document-oriented databases. JSON's advantage as an object notation is that, once you comprehend its syntax -- and JSON is remarkably easy to grasp -- then you have all you need to define what amounts to the schema of a document database. That's because, in a document database, each document carries its own schema -- unlike an RDBMS, in which every row in a given table must have the same columns.

[ Andrew C. Oliver answers the question on everyone's mind: Which freaking database should I use? | Also on InfoWorld: The time for NoSQL standards is now | Get a digest of the key stories each day in the InfoWorld Daily newsletter. ]

The latest versions of Couchbase Server and MongoDB are both newly arrived. In December 2012, Couchbase released Couchbase Server 2.0, a version that makes Couchbase Server a full-fledged document database. Prior to that release, users could store JSON data into Couchbase, but the database wrote JSON data as a blob. Couchbase was, effectively, a key/value database.

10gen released MongoDB 2.4 just this week. MongoDB has been a document database from the get-go. This latest release incorporates numerous performance and usability enhancements.

Both databases are designed to run on commodity hardware, as well as for horizontal scaling via sharding (in Couchbase, the rough equivalent to a shard is called a partition). Both databases employ JSON as the document definition notation, though in MongoDB, the notation is BSON (Binary JSON), a binary-encoded superset of JSON that defines useful data types not found in JSON. While both databases employ JavaScript as the primary data manipulation language, both provide APIs for all the most popular programming languages to allow applications direct access to database operations.

Key differences
Of course there are differences. First, MongoDB's handling of documents is better developed. This becomes most obvious in the mongo shell, which serves the dual purpose of providing a management and development window into a MongoDB database. Database, collections, and documents are first-class entities in the shell. Collections are actually properties on database objects.

This is not to say that Couchbase is hobbled. You can easily manage your Couchbase cluster -- adding, deleting, and fetching documents -- from the Couchbase Management GUI, for which MongoDB has no counterpart. Indeed, if you prefer management via GUI consoles, score one for Couchbase Server. If, however, you favor life at the command line, you will be tipped in MongoDB's direction.

The cloud-based MongoDB Monitoring Service (MMS), which gathers statistics, is not meant to be a full-blown database management interface. But MongoDB's environment provides a near seamless connection between the data objects abstracted in the mongo shell and the database entities they model. This is particularly apparent when you discover that MongoDB allows you to create indexes on a specific document field using a single function call, whereas indexes in Couchbase must be created by more complex mapreduce operations.


View the original article here

Free Facebook Likes