Top 60 Oracle Blogs

Recent comments


Google Spanner – SQL compatibility

By Franck Pachot

I have posted, a long time ago, about Google Spanner (inserting data and no decimal numeric data types) but many things have changed in this area. There is now a NUMERIC data type and many things have improved in this distributed SQL database, improving a bit the SQL compatibility.

CockroachDB troubleshooting series… define the process

After working with customers for about 18 months now, I am starting a blog series to write up the common issues seen while running CockroachDB. Diagnosis and treatment of issues when running on distributed database architectures like CockroachDB, closely mirror the process used in the medical community.

There are observed symptoms which leads to a diagnosis and finally a treatment to resolve the condition. Good troubleshooting methodology can help frame the problem which leads to better overall outcomes. This process is outlined below:

Scaling CockroachDB key generation… uuid, serial, and sequences


Primary keys are critical in any RDBMS in order to ensure the validity of data. Unlike other distributed SQL databases, CockroachDB is not sharded by primary key to distribute the data. Data is divided to ranges and distributed automatically among nodes in the cluster. CockroachDB ranges are sorted by the primary key values. So, while the value doesn’t define the distribution, the sorting of the values can have implications if you use sequences that increment values in a counter-like fashion. This will put stress on a single RANGE of data which scaling of a distributed application.

Recovery in the ☁ with Google Cloud SQL (PostgreSQL)

By Franck Pachot

In a previous post I started this series of “Recovery in the ☁” with the Oracle Autonomous database. My goal is to explain the recovery procedures, especially the Point-In-Time recovery procedures because there is often confusion, which I tried to clarify in What is a database backup (back to the basics). And the terms used in managed cloud services or documentation is not very clear, not always the same, and sometimes misleading.

Join Performance for UUID, STRING, and INTEGER with CockroachDB


To continue on the UUID performance thread, I was recently asked by a customer how joins perform with various data types. I had not run a specific test, but suspected perform would be driven mostly by the size of the data types.

I wanted to verify my assumptions with real test data that shows the core performance of joins with CockroachDB.

the schema, data, and queries

For this test, two tables were created. The first table had one million rows and the second table had 200k matching primary keys for UUID, STRING, and INTEGER data types.


create table u1 (id uuid primary key);
create table u2 (id uuid primary key);

create table s1 (id string primary key);
create table s2 (id string primary key);

create table i1 (id integer primary key);
create table i2 (id integer primary key);

data load:

Importing geo-partitioned data… the easy way


setting the stage

I started at Cockroach labs back in June 2019 to help others learn how to architect and develop applications using a geo-distributed database.  There has been a resurgence in distributed database technology, but the focus on geo-distributed is quite unique to CockroachDB.  While the underlying technology is unique, developers and DBAs that come with a wealth of experience, need to know how to best use this innovative technology.  Given this situation, I thought it would be good to start a blog series to explore various topics facing anyone beginning to architect database solutions with CockroachDB.

To start using a database, the first step is to IMPORT table data so you can begin to see how the database performs and responds.  And thus the IMPORT series has started!