[MUSIC PLAYING]
RYAN MATSUMOTO: Cloud Bigtable is a NoSQL database
that has the scale, speed, and reliability
necessary to handle big data workloads.
In previous episodes, we learned about some
of Bigtable's key features, as well as its data model.
We also took a look at how Bigtable
is being used in a diverse group of industries,
like retail, transportation and fraud detection.
In this episode, we're going to learn more about
how Bigtable can be used for a key use case, personalization.
Across industries, data is helping
businesses elevate the customer experience to new heights.
One particular area where data is helping
is personalization, delivering a tailored experience
to each customer based on their own unique needs
and preferences.
Personalization is all around us.
If you're an online shopper, you might
notice the product recommendations that pop up
based on your purchase history.
If you use a video streaming service,
you'll probably get recommendations
for new movies and TV shows based on what
you've watched in the past.
And if you like music, your digital music service probably
uses personalization to help you discover new songs
and playlists.
Data is at the heart of personalization,
but this presents unique challenges
to businesses trying to harness it.
Luckily, Bigtable is great for supporting personalization
at scale because of its unique combination of scale, speed,
and reliability.
Personalization requires businesses to store and access
large volumes of data.
Bigtable is a highly scalable database,
allowing you to store up to petabytes of data.
In fact, Bigtable supports trillions of rows
with millions of columns.
And each row in Bigtable supports up
to 256 megabytes of data, so you can easily
store all personalization data for an individual customer
in a single row.
Bigtable databases can be scaled linearly at zero downtime
by adding or removing nodes, each of which
provides up to 10,000 additional queries per second
and is attached to additional storage capacity.
Personalization also requires a database
that can quickly write large volumes of data concurrently
for many users, since customer behavior needs
to be continually captured to inform future recommendations.
Bigtable meets this challenge with the ability
to handle millions of read and write requests per second.
And it's able to do so at low latency,
on the order of single-digit milliseconds.
This is critical for personalization,
since you wouldn't want users to have
to wait around for personalized recommendations.
Bigtable's flexible NoSQL data model also
works well for personalization.
Traditional relational databases assume a fixed schema
that will change infrequently over time.
But NoSQL databases relax the rigidity of the schema
and allow for data structures to evolve much more
easily over time.
Another important aspect of the Bigtable data model
is that its tables are sparse, meaning that if a column is not
built in for a given row, you don't pay for that empty cell.
In an e-commerce example, you might
have a row for each customer and a column for each product
that they may have engaged with.
With Bigtable's NoSQL data model,
it's easy to add new columns to the table
as new products are introduced.
And if a customer hasn't engaged with a given product,
that cell will be empty, and you don't
end up paying for its space, because Bigtable tables are
sparse.
Of course, storing customer information
is only one step to performing personalization at scale.
The next step is finding ways to make that data useful
using machine learning and big data analysis tools.
Bigtable has you covered with easy integration
with Google Tools like BigQuery, TensorFlow, Dataproc,
and Dataflow, as well as Apache tools like HBase, Hadoop, Beam,
and Spark.
We've covered just a few of the key reasons
why Bigtable is great for personalization.
But other reasons include low Total Cost of Ownership,
or TCO, for high throughput workloads;
consistent performance around the world because of data
replication across Google data centers internationally;
and business-critical reliability,
with up to 99.999% availability SLA.
Let's take a look at an example of how Bigtable tables could
be used for an e-commerce website looking to recommend
products to users based on their viewing and purchase history.
First, we might have a user history table.
This table stores information about user sessions,
including which products they view,
add to their cart, and purchase.
Next, we could have a user personalization table.
This table stores recommended products
for each user, which would be generated dynamically over time
using machine learning.
It can also store users' own stated preferences from a wish
list of saved items.
And finally, we might have a product recommendation table.
This would provide product recommendations
based on an original product.
For example, if a customer bought a blue t-shirt,
we might recommend them other types of blue t-shirts.
So there you have it, an overview
of how Bigtable's speed, scalability, and reliability
makes it great for personalization use cases.
If you're curious to learn more, follow the links
below for more information.
Thanks for joining us today and stay
tuned for more episodes about Bigtable.