{
  "schema_version": 1,
  "article_count": 1356,
  "sources": {
    "cern": 13,
    "dbi-services": 578,
    "dev.to": 622,
    "linkedin": 29,
    "medium": 87,
    "microsoft-techcommunity": 1,
    "yugabyte": 26
  },
  "articles": [
    {
      "source": "dev.to",
      "source_id": "4265167",
      "title": "HorizonDB reduces WAL overhead with smarter FPI (full-page image) than traditional PostgreSQL",
      "published_at": "2026-08-02T20:23:49Z",
      "canonical_url": "https://dev.to/franckpachot/horizondb-reduces-wal-overhead-with-smarter-fpi-full-page-image-than-traditional-postgresql-1lhf",
      "archive_path": "devto/articles/4265167.json",
      "tags": [
        "horizondb",
        "azure",
        "postgres",
        "database"
      ]
    },
    {
      "source": "microsoft-techcommunity",
      "source_id": "4540160",
      "title": "AI-Powered Retrieval in PostgreSQL with Azure HorizonDB",
      "published_at": "2026-07-28T18:08:05",
      "canonical_url": "https://techcommunity.microsoft.com/blog/adforpostgresql/ai-powered-retrieval-in-postgresql-with-azure-horizondb/4540160",
      "archive_path": "microsoft-techcommunity/articles/4540160.html",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "4169511",
      "title": "WHERE $1::timestamptz IS NULL OR \"timestamp\" > $1",
      "published_at": "2026-07-27T15:51:55Z",
      "canonical_url": "https://dev.to/franckpachot/where-1timestamptz-is-null-or-timestamp-1-55kf",
      "archive_path": "devto/articles/4169511.json",
      "tags": [
        "database",
        "performance",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4235447",
      "title": "Following ROWIDs Through an Oracle Unique Index Update",
      "published_at": "2026-07-26T21:21:12Z",
      "canonical_url": "https://dev.to/franckpachot/following-rowids-through-an-oracle-unique-index-update-2lc",
      "archive_path": "devto/articles/4235447.json",
      "tags": [
        "oracle",
        "postgres",
        "sql",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4212032",
      "title": "B-tree block split: what's the impact?",
      "published_at": "2026-07-24T16:20:52Z",
      "canonical_url": "https://dev.to/franckpachot/b-tree-block-split-whats-the-impact-1i9c",
      "archive_path": "devto/articles/4212032.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "btree"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4212666",
      "title": "B+tree height after full delete: PostgreSQL fast root",
      "published_at": "2026-07-23T21:23:36Z",
      "canonical_url": "https://dev.to/franckpachot/btree-height-after-delete-oracle-rebuild-vs-postgresql-fastroot-1ia4",
      "archive_path": "devto/articles/4212666.json",
      "tags": [
        "postgres",
        "oracle",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4198280",
      "title": "From Joins to Graph Edges: SQL/PGQ in PostgreSQL 19",
      "published_at": "2026-07-22T17:01:35Z",
      "canonical_url": "https://dev.to/franckpachot/from-joins-to-graph-edges-sqlpgq-in-postgresql-19-2doo",
      "archive_path": "devto/articles/4198280.json",
      "tags": [
        "postgres",
        "sql",
        "graph",
        "database"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "b4xoe",
      "title": "The Myth of Strong Relationships in Relational Databases",
      "published_at": "2026-07-22",
      "canonical_url": "https://www.linkedin.com/pulse/myth-strong-relationships-relational-databases-franck-pachot-b4xoe",
      "archive_path": "linkedin/articles/b4xoe.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "4190390",
      "title": "Cypher graph queries on PostgreSQL with Apache AGE",
      "published_at": "2026-07-21T14:59:14Z",
      "canonical_url": "https://dev.to/franckpachot/cypher-graph-queries-on-postgresql-with-apache-age-3l62",
      "archive_path": "devto/articles/4190390.json",
      "tags": [
        "postgres",
        "graph",
        "database",
        "vscode"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4168141",
      "title": "DocumentDB on YugabyteDB",
      "published_at": "2026-07-17T21:00:14Z",
      "canonical_url": "https://dev.to/franckpachot/documentdb-on-yugabytedb-4na0",
      "archive_path": "devto/articles/4168141.json",
      "tags": [
        "documentdb",
        "postgres",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4111703",
      "title": "PostgreSQL as a converged database with pglayers-full",
      "published_at": "2026-07-10T14:13:09Z",
      "canonical_url": "https://dev.to/franckpachot/postgresql-as-a-converged-database-with-pglayers-full-2a7h",
      "archive_path": "devto/articles/4111703.json",
      "tags": [
        "postgres",
        "sql",
        "mongodb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4099802",
      "title": "“PostgreSQL resolves uniqueness through heap tuple visibility”",
      "published_at": "2026-07-09T15:56:54Z",
      "canonical_url": "https://dev.to/franckpachot/postgresql-resolves-uniqueness-through-heap-tuple-visibility-bkp",
      "archive_path": "devto/articles/4099802.json",
      "tags": [
        "postgres",
        "database",
        "index",
        "internals"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4081710",
      "title": "What happens when a PostgreSQL backend crashes?",
      "published_at": "2026-07-07T14:40:55Z",
      "canonical_url": "https://dev.to/franckpachot/what-happens-when-a-postgresql-backend-crashes-3md",
      "archive_path": "devto/articles/4081710.json",
      "tags": [
        "postgres",
        "database",
        "architecture",
        "tutorial"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4071535",
      "title": "PostgreSQL query planner parameters and prepared statements",
      "published_at": "2026-07-05T18:46:50Z",
      "canonical_url": "https://dev.to/franckpachot/postgresql-query-planner-parameters-and-prepared-statements-3o5a",
      "archive_path": "devto/articles/4071535.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4053428",
      "title": "Extended RUM in DocumentDB: B-tree-like ordered scans for flexible BSON in PostgreSQL",
      "published_at": "2026-07-03T10:35:08Z",
      "canonical_url": "https://dev.to/franckpachot/extended-rum-in-documentdb-b-tree-like-ordered-scans-for-flexible-bson-in-postgresql-4nje",
      "archive_path": "devto/articles/4053428.json",
      "tags": [
        "postgres",
        "documentdb",
        "mongodb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4041071",
      "title": "kernel asynchronous reads in PostgreSQL 19 (io_uring)",
      "published_at": "2026-07-01T20:25:06Z",
      "canonical_url": "https://dev.to/franckpachot/iouring-buffered-reads-in-postgresql-19-iouring-mcn",
      "archive_path": "devto/articles/4041071.json",
      "tags": [
        "postgres",
        "database",
        "linux",
        "io"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4014806",
      "title": "Multi-block buffered reads in PostgreSQL 19 (IO combine & prefetch)",
      "published_at": "2026-06-30T21:00:32Z",
      "canonical_url": "https://dev.to/franckpachot/multi-block-buffered-reads-in-postgresql-19-io-combine-prefetch-3dl2",
      "archive_path": "devto/articles/4014806.json",
      "tags": [
        "postgres",
        "performance",
        "linux",
        "io"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "4022044",
      "title": "Hybrid Search (Full-Text and Vector Similarity) in HorizonDB",
      "published_at": "2026-06-29T18:17:02Z",
      "canonical_url": "https://dev.to/franckpachot/hybrid-search-full-text-and-vector-similarity-in-horizondb-3a5f",
      "archive_path": "devto/articles/4022044.json",
      "tags": [
        "horizondb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3999543",
      "title": "Azure AI on HorizonDB (Microsoft Foundry Azure OpenAI from SQL)",
      "published_at": "2026-06-27T23:08:39Z",
      "canonical_url": "https://dev.to/franckpachot/azure-ai-on-horizondb-fbk",
      "archive_path": "devto/articles/3999543.json",
      "tags": [
        "postgres",
        "microsoft",
        "azure",
        "ai"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3964535",
      "title": "$lookup join strategies: understanding the trade-offs with flexible documents",
      "published_at": "2026-06-26T05:37:11Z",
      "canonical_url": "https://dev.to/franckpachot/lookup-join-strategies-understanding-the-trade-offs-with-flexible-documents-ncf",
      "archive_path": "devto/articles/3964535.json",
      "tags": [
        "postgres",
        "documentdb",
        "mongodb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3981820",
      "title": "Oracle FDW on Azure Database for PostgreSQL",
      "published_at": "2026-06-25T06:33:37Z",
      "canonical_url": "https://dev.to/franckpachot/oracle-fdw-on-azure-database-for-postgresql-510c",
      "archive_path": "devto/articles/3981820.json",
      "tags": [
        "postgres",
        "azure",
        "oracle",
        "migration"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3940900",
      "title": "Vector Search with Filters: pgvector vs DiskANN on HorizonDB",
      "published_at": "2026-06-22T09:04:45Z",
      "canonical_url": "https://dev.to/franckpachot/vector-search-with-filters-pgvector-vs-diskann-on-horizondb-i2k",
      "archive_path": "devto/articles/3940900.json",
      "tags": [
        "postgres",
        "sql",
        "vector",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3892077",
      "title": "HorizonDB cache hierarchy: RAM, NVMe SSD, and multi-AZ storage behind PostgreSQL",
      "published_at": "2026-06-17T17:07:10Z",
      "canonical_url": "https://dev.to/franckpachot/horizondb-cache-hierarchy-ram-nvme-ssd-and-multi-az-storage-behind-postgresql-k82",
      "archive_path": "devto/articles/3892077.json",
      "tags": [
        "postgres",
        "azure",
        "cloud",
        "database"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "q4ede",
      "title": "Provision PostgreSQL from VS Code",
      "published_at": "2026-06-15",
      "canonical_url": "https://www.linkedin.com/pulse/provision-postgresql-from-vs-code-franck-pachot-q4ede",
      "archive_path": "linkedin/articles/q4ede.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3883285",
      "title": "HorizonDB preview: automate a reproducible lab with ARM",
      "published_at": "2026-06-12T20:47:11Z",
      "canonical_url": "https://dev.to/franckpachot/horizondb-preview-automate-a-reproducible-lab-with-arm-2515",
      "archive_path": "devto/articles/3883285.json",
      "tags": [
        "postgres",
        "azure",
        "horizondb",
        "cloud"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "u1kre",
      "title": "PostgreSQL Average Active Sessions Dashboard in VS Code",
      "published_at": "2026-06-11",
      "canonical_url": "https://www.linkedin.com/pulse/postgresql-average-active-sessions-dashboard-vs-code-franck-pachot-u1kre",
      "archive_path": "linkedin/articles/u1kre.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3804307",
      "title": "RUM—Storing More in the Index",
      "published_at": "2026-06-09T06:12:39Z",
      "canonical_url": "https://dev.to/franckpachot/rum-storing-more-in-the-index-4hoe",
      "archive_path": "devto/articles/3804307.json",
      "tags": [
        "architecture",
        "database",
        "performance",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3801984",
      "title": "GIN: Understanding PostgreSQL's Inverted Index and Its Limitations",
      "published_at": "2026-06-09T05:44:32Z",
      "canonical_url": "https://dev.to/franckpachot/gin-understanding-postgresqls-inverted-index-and-its-limitations-40hn",
      "archive_path": "devto/articles/3801984.json",
      "tags": [
        "architecture",
        "database",
        "performance",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3694387",
      "title": "Extended RUM in DocumentDB extension for PostgreSQL: Efficient ESR (Equality, Sort, Range) Queries",
      "published_at": "2026-06-07T15:37:15Z",
      "canonical_url": "https://dev.to/franckpachot/extended-rum-in-documentdb-extension-for-postgresql-efficient-esr-equality-sort-range-queries-5bkj",
      "archive_path": "devto/articles/3694387.json",
      "tags": [
        "postgres",
        "sql",
        "document",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3817821",
      "title": "Getting Started with pg_durable: Workflows Inside PostgreSQL",
      "published_at": "2026-06-05T16:31:54Z",
      "canonical_url": "https://dev.to/franckpachot/getting-started-with-pgdurable-durable-workflows-inside-postgresql-3980",
      "archive_path": "devto/articles/3817821.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "workflow"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3684071",
      "title": "Filter on Children, Sort by Parent: One-to-Many Compound Index Strategies in PostgreSQL",
      "published_at": "2026-06-01T11:59:58Z",
      "canonical_url": "https://dev.to/franckpachot/filter-on-children-sort-by-parent-one-to-many-compound-index-strategies-in-postgresql-1clj",
      "archive_path": "devto/articles/3684071.json",
      "tags": [
        "postgres",
        "sql",
        "documentdb",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3780540",
      "title": "BSON and OSON: documents are designed to be nested, not flat",
      "published_at": "2026-05-30T08:23:05Z",
      "canonical_url": "https://dev.to/franckpachot/bson-and-oson-documents-are-designed-to-be-nested-not-flat-3b65",
      "archive_path": "devto/articles/3780540.json",
      "tags": [
        "document",
        "database",
        "oracle",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3702272",
      "title": "$exists and non-sparse indexes in MongoDB and in other DocumentDB",
      "published_at": "2026-05-29T19:41:42Z",
      "canonical_url": "https://dev.to/franckpachot/exists-and-non-sparse-indexes-in-mongodb-and-in-other-documentdb-19e3",
      "archive_path": "devto/articles/3702272.json",
      "tags": [
        "mongodb",
        "documentdb",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3716806",
      "title": "The Autovacuum Scale Factor Problem at Scale - Know Your Defaults",
      "published_at": "2026-05-26T10:45:53Z",
      "canonical_url": "https://dev.to/franckpachot/the-autovacuum-scale-factor-problem-at-scale-know-your-defaults-5a9o",
      "archive_path": "devto/articles/3716806.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "performane"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3668423",
      "title": "Avoiding range overlaps in PostgreSQL with EXCLUDE constraint, better than serializable or assertions",
      "published_at": "2026-05-15T18:21:25Z",
      "canonical_url": "https://dev.to/franckpachot/postgresql-exclude-constraints-for-better-concurrency-than-serializable-pob",
      "archive_path": "devto/articles/3668423.json",
      "tags": [
        "postgres",
        "oracle",
        "sql",
        "database"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "fphre",
      "title": "PostgreSQL’s \"random_page_cost\" isn’t just about disk latency — and the default is often right when your indexes are",
      "published_at": "2026-05-14",
      "canonical_url": "https://www.linkedin.com/pulse/postgresqls-randompagecost-isnt-just-disk-latency-default-pachot-fphre",
      "archive_path": "linkedin/articles/fphre.json",
      "tags": []
    },
    {
      "source": "linkedin",
      "source_id": "wh0ne",
      "title": "You need foreign keys and surrogate keys because you broke your relationships",
      "published_at": "2026-05-11",
      "canonical_url": "https://www.linkedin.com/pulse/you-need-foreign-keys-surrogate-because-broke-your-franck-pachot-wh0ne",
      "archive_path": "linkedin/articles/wh0ne.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3641131",
      "title": "Do you need foreign keys and surrogate keys because you broke your relationships ?",
      "published_at": "2026-05-09T20:47:56Z",
      "canonical_url": "https://dev.to/franckpachot/you-need-foreign-keys-and-surrogate-keys-because-you-broke-your-relationships-3b0j",
      "archive_path": "devto/articles/3641131.json",
      "tags": [
        "architecture",
        "database",
        "sql",
        "document"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3601574",
      "title": "Codd's Connection Trap and Oracle's JOIN TO ONE",
      "published_at": "2026-05-02T21:52:47Z",
      "canonical_url": "https://dev.to/franckpachot/codds-connection-trap-and-oracles-join-to-one-292f",
      "archive_path": "devto/articles/3601574.json",
      "tags": [
        "sql",
        "relational",
        "database",
        "oracle"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "fdw3e",
      "title": "I need a database. What should I use?",
      "published_at": "2026-04-29",
      "canonical_url": "https://www.linkedin.com/pulse/i-need-database-what-should-use-franck-pachot-fdw3e",
      "archive_path": "linkedin/articles/fdw3e.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3549342",
      "title": "Anti-Join in MongoDB",
      "published_at": "2026-04-25T16:00:17Z",
      "canonical_url": "https://dev.to/franckpachot/anti-join-in-mongodb-23eo",
      "archive_path": "devto/articles/3549342.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3520847",
      "title": "Mutable BSON and Oracle OSON",
      "published_at": "2026-04-18T22:59:16Z",
      "canonical_url": "https://dev.to/franckpachot/mutable-bson-and-oracle-oson-2o04",
      "archive_path": "devto/articles/3520847.json",
      "tags": [
        "oracle",
        "mongodb",
        "json",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3465690",
      "title": "The origins of MongoDB",
      "published_at": "2026-04-07T13:56:22Z",
      "canonical_url": "https://dev.to/franckpachot/the-origins-of-mongodb-557p",
      "archive_path": "devto/articles/3465690.json",
      "tags": [
        "architecture",
        "backend",
        "database",
        "startup"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3463621",
      "title": "MongoDB Query Planner",
      "published_at": "2026-04-07T06:23:59Z",
      "canonical_url": "https://dev.to/franckpachot/mongodb-query-planner-io2",
      "archive_path": "devto/articles/3463621.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "optimizer"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3343268",
      "title": "Single-Cluster Duality View 🃏",
      "published_at": "2026-04-01T02:00:00Z",
      "canonical_url": "https://dev.to/franckpachot/the-single-duality-view-pattern-can-sqljson-preserve-aggregate-locality-4ifd",
      "archive_path": "devto/articles/3343268.json",
      "tags": [
        "mongodb",
        "dynamodb",
        "oracle",
        "json"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3431931",
      "title": "Read Concern \"snapshot\" for snapshot isolation outside explicit transactions",
      "published_at": "2026-03-30T21:26:18Z",
      "canonical_url": "https://dev.to/franckpachot/read-concern-snapshot-for-snapshot-isolation-outside-explicit-transactions-d5p",
      "archive_path": "devto/articles/3431931.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "isolation"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3424907",
      "title": "SQL Assertions, ANSI join, and ORA-08697",
      "published_at": "2026-03-29T17:39:06Z",
      "canonical_url": "https://dev.to/franckpachot/sql-assertions-ansi-join-and-ora-08697-3bl9",
      "archive_path": "devto/articles/3424907.json",
      "tags": [
        "oracle",
        "sql",
        "ansi",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3417259",
      "title": "Consistency boundaries in SQL databases vs. MongoDB",
      "published_at": "2026-03-29T17:33:17Z",
      "canonical_url": "https://dev.to/franckpachot/consistency-boundaries-in-sql-vs-mongodb-54dm",
      "archive_path": "devto/articles/3417259.json",
      "tags": [
        "oracle",
        "mongodb",
        "database",
        "consistency"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3400093",
      "title": "Non-First Normal Forms and MongoDB: an alternative to 4NF to address 3NF anomalies",
      "published_at": "2026-03-25T18:32:29Z",
      "canonical_url": "https://dev.to/franckpachot/non-first-normal-forms-1nf-and-mongodb-an-alternative-to-4nf-to-address-3nf-anomalies-17i8",
      "archive_path": "devto/articles/3400093.json",
      "tags": [
        "database",
        "mormalization",
        "mongodb",
        "document"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3397246",
      "title": "MongoDB Transaction Performance",
      "published_at": "2026-03-24T22:32:26Z",
      "canonical_url": "https://dev.to/franckpachot/mongodb-transaction-performance-4dc7",
      "archive_path": "devto/articles/3397246.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "acid"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3298952",
      "title": "Updating \"denormalized\" aggregates with \"duplicates\": MongoDB vs. PostgreSQL",
      "published_at": "2026-03-03T10:26:05Z",
      "canonical_url": "https://dev.to/franckpachot/updating-denormalized-aggregates-with-duplicates-mongodb-vs-postgresql-3bi1",
      "archive_path": "devto/articles/3298952.json",
      "tags": [
        "mongodb",
        "postgres",
        "oracle",
        "denormalization"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3295687",
      "title": "PostgreSQL global statistics on partitionned table require a manual ANALYZE",
      "published_at": "2026-03-01T17:55:23Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-global-statistics-on-partitionned-table-require-a-manual-analyze-473h",
      "archive_path": "devto/articles/3295687.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "partitioning"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3288660",
      "title": "From Relational Algebra to Document Semantics",
      "published_at": "2026-02-27T16:45:51Z",
      "canonical_url": "https://dev.to/franckpachot/from-relational-algebra-to-document-semantics-b00",
      "archive_path": "devto/articles/3288660.json",
      "tags": [
        "mongodb",
        "document",
        "relational",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3150629",
      "title": "Read‑your‑writes on replicas: PostgreSQL WAIT FOR LSN and MongoDB Causal Consistency",
      "published_at": "2026-02-21T21:36:36Z",
      "canonical_url": "https://dev.to/franckpachot/read-your-writes-on-replicas-postgresql-wait-for-lsn-and-mongodb-causal-consistency-4he2",
      "archive_path": "devto/articles/3150629.json",
      "tags": [
        "postgres",
        "mongodb",
        "database",
        "replication"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3267532",
      "title": "Top-K queries with MongoDB search indexes (BM25)",
      "published_at": "2026-02-19T22:05:35Z",
      "canonical_url": "https://dev.to/franckpachot/top-k-queries-with-mongodb-search-indexes-bm25-3a41",
      "archive_path": "devto/articles/3267532.json",
      "tags": [
        "mongodb",
        "index",
        "bm25",
        "search"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3258511",
      "title": "Relational composition and Codd's \"connection trap\" in PostgreSQL and MongoDB",
      "published_at": "2026-02-16T15:39:55Z",
      "canonical_url": "https://dev.to/franckpachot/relational-composition-and-codds-connection-trap-in-postgresql-and-mongodb-4k34",
      "archive_path": "devto/articles/3258511.json",
      "tags": [
        "database",
        "model",
        "postgres",
        "mongodb"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "f5hme",
      "title": "Databases after Microservices: PostgreSQL or MongoDB in a Domain‑Driven Design?",
      "published_at": "2026-02-16",
      "canonical_url": "https://www.linkedin.com/pulse/databases-after-microservices-postgresql-mongodb-design-franck-pachot-f5hme",
      "archive_path": "linkedin/articles/f5hme.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3255209",
      "title": "Cartesian product (CROSS JOIN) in MongoDB",
      "published_at": "2026-02-14T00:00:20Z",
      "canonical_url": "https://dev.to/franckpachot/cross-join-in-mongodb-ep7",
      "archive_path": "devto/articles/3255209.json",
      "tags": [
        "database",
        "javascript",
        "mongodb",
        "tutorial"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3235519",
      "title": "Prisma + MongoDB “Hello World”",
      "published_at": "2026-02-11T19:09:48Z",
      "canonical_url": "https://dev.to/franckpachot/prisma-mongodb-hello-world-928",
      "archive_path": "devto/articles/3235519.json",
      "tags": [
        "prisma",
        "typescript",
        "mongodb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3196423",
      "title": "{ w: 1 } Asynchronous Writes and Conflict Resolution in MongoDB",
      "published_at": "2026-02-10T11:31:39Z",
      "canonical_url": "https://dev.to/franckpachot/w1-asynchronous-write-and-conflict-resolution-in-mongodb-non-default-5677",
      "archive_path": "devto/articles/3196423.json",
      "tags": [
        "mongodb",
        "acid",
        "document",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3239858",
      "title": "Normal Forms and MongoDB",
      "published_at": "2026-02-07T21:53:57Z",
      "canonical_url": "https://dev.to/franckpachot/normal-forms-and-the-document-model-mongodb-19f9",
      "archive_path": "devto/articles/3239858.json",
      "tags": [
        "mongodb",
        "database",
        "document",
        "normalization"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3237660",
      "title": "Serializable Transactions in MongoDB: The Doctor's On-Call Shift example",
      "published_at": "2026-02-06T15:02:48Z",
      "canonical_url": "https://dev.to/franckpachot/the-doctors-on-call-shift-with-snapshot-isolation-in-mongodb-18nn",
      "archive_path": "devto/articles/3237660.json",
      "tags": [
        "mongodb",
        "acid",
        "document",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3214175",
      "title": "The Doctor's On-Call Shift solved with SQL Assertions",
      "published_at": "2026-02-01T18:23:50Z",
      "canonical_url": "https://dev.to/franckpachot/the-doctors-on-call-shift-solved-with-sql-assertions-30fh",
      "archive_path": "devto/articles/3214175.json",
      "tags": [
        "oracle",
        "sql",
        "assertion",
        "consistency"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "zki0e",
      "title": "{ 🌱: \"One year !\"}",
      "published_at": "2026-01-28",
      "canonical_url": "https://www.linkedin.com/pulse/one-year-franck-pachot-zki0e",
      "archive_path": "linkedin/articles/zki0e.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3175168",
      "title": "CloudNativePG (CNPG) - install (2.18) and first test: simulate transient failure",
      "published_at": "2026-01-27T21:22:54Z",
      "canonical_url": "https://dev.to/franckpachot/cloudnativepg-install-218-and-first-test-transient-failure-4ml",
      "archive_path": "devto/articles/3175168.json",
      "tags": [
        "postgres",
        "kubernetes",
        "database",
        "cloud"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "f4tke",
      "title": "Anti-Pattern: Read Replicas Without Sharding",
      "published_at": "2026-01-24",
      "canonical_url": "https://www.linkedin.com/pulse/anti-pattern-read-replicas-without-sharding-franck-pachot-f4tke",
      "archive_path": "linkedin/articles/f4tke.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3158769",
      "title": "PgBench on MongoDB via Foreign Data Wrapper",
      "published_at": "2026-01-23T12:56:20Z",
      "canonical_url": "https://dev.to/franckpachot/pgbench-on-mongodb-via-foreign-data-wrapper-i5j",
      "archive_path": "devto/articles/3158769.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3180126",
      "title": "MongoDB compared to Oracle Database Maximum Availability Architecture",
      "published_at": "2026-01-18T10:20:23Z",
      "canonical_url": "https://dev.to/franckpachot/mongodb-compared-to-oracle-maximum-availability-architecture-mpl",
      "archive_path": "devto/articles/3180126.json",
      "tags": [
        "mongodb",
        "database",
        "availability",
        "oracle"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3167463",
      "title": "BSON vs OSON: Different design goals",
      "published_at": "2026-01-13T18:36:40Z",
      "canonical_url": "https://dev.to/franckpachot/bson-vs-oson-different-design-goals-5geg",
      "archive_path": "devto/articles/3167463.json",
      "tags": [
        "mongodb",
        "json",
        "database",
        "oracle"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3162423",
      "title": "Which Document class is best to use in Java to read MongoDB documents?",
      "published_at": "2026-01-10T18:28:11Z",
      "canonical_url": "https://dev.to/franckpachot/which-document-class-is-best-to-use-in-java-to-read-mongodb-documents-46n7",
      "archive_path": "devto/articles/3162423.json",
      "tags": [
        "mongodb",
        "java",
        "oracle",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3150942",
      "title": "3 Steps to Optimize Your Queries for Speed",
      "published_at": "2026-01-05T22:08:21Z",
      "canonical_url": "https://dev.to/franckpachot/3-steps-to-optimize-your-queries-for-speed-59a2",
      "archive_path": "devto/articles/3150942.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3146807",
      "title": "UPDATE...RETURNING in MongoDB: ACID and idempotency with findOneAndUpdate()",
      "published_at": "2026-01-04T18:52:48Z",
      "canonical_url": "https://dev.to/franckpachot/acid-and-idempotent-update-returning-in-mongodb-with-findoneandupdate-955",
      "archive_path": "devto/articles/3146807.json",
      "tags": [
        "mongodb",
        "distributed",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3141770",
      "title": "FOR UPDATE SKIP LOCKED in MongoDB",
      "published_at": "2026-01-01T23:54:22Z",
      "canonical_url": "https://dev.to/franckpachot/mongodb-equivalent-to-for-update-skip-locked-1m15",
      "archive_path": "devto/articles/3141770.json",
      "tags": [
        "mongodb",
        "postgres",
        "database",
        "lock"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3135668",
      "title": "Why isn't \"majority\" the default read concern in MongoDB?",
      "published_at": "2025-12-31T08:58:03Z",
      "canonical_url": "https://dev.to/franckpachot/why-isnt-majority-the-default-read-concern-in-mongodb-2782",
      "archive_path": "devto/articles/3135668.json",
      "tags": [
        "mongodb",
        "acid",
        "consistency",
        "cqrs"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3130213",
      "title": "MongoDB read and write concerns compared to PostgreSQL synchronous commit",
      "published_at": "2025-12-28T10:17:19Z",
      "canonical_url": "https://dev.to/franckpachot/mongodb-readwrite-vs-postgresql-synchronous-replication-2ni8",
      "archive_path": "devto/articles/3130213.json",
      "tags": [
        "mongodb",
        "replication",
        "postgres",
        "synchronous"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3125389",
      "title": "No Foreign Keys in MongoDB: Rethinking Referential Integrity",
      "published_at": "2025-12-25T22:29:59Z",
      "canonical_url": "https://dev.to/franckpachot/no-foreign-keys-in-mongodb-rethinking-referential-integrity-1b9b",
      "archive_path": "devto/articles/3125389.json",
      "tags": [
        "mongodb",
        "referential",
        "integrity",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3123378",
      "title": "Adaptive Join in Amazon Aurora PostgreSQL",
      "published_at": "2025-12-24T09:29:47Z",
      "canonical_url": "https://dev.to/aws-heroes/adaptive-join-in-amazon-aurora-5ha0",
      "archive_path": "devto/articles/3123378.json",
      "tags": [
        "aws",
        "aurora",
        "postgres",
        "adaptive"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3122674",
      "title": "Unnesting Scalar Subqueries into Left Outer Joins in SQL in Aurora and PostgreSQL",
      "published_at": "2025-12-23T15:46:35Z",
      "canonical_url": "https://dev.to/aws-heroes/unnesting-scalar-subqueries-into-left-outer-joins-in-sql-556k",
      "archive_path": "devto/articles/3122674.json",
      "tags": [
        "aws",
        "aurora",
        "postgres",
        "optimizer"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "vbtee",
      "title": "Financial Databases: SQL Is Not the Only Option – From ACID Theory to Banking Reality",
      "published_at": "2025-12-22",
      "canonical_url": "https://www.linkedin.com/pulse/financial-databases-sql-only-option-from-acid-theory-banking-pachot-vbtee",
      "archive_path": "linkedin/articles/vbtee.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3118738",
      "title": "JSONB vs. BSON: Tracing PostgreSQL and MongoDB Wire Protocols",
      "published_at": "2025-12-21T20:27:48Z",
      "canonical_url": "https://dev.to/franckpachot/jsonb-vs-bson-tracing-postgresql-and-mongodb-wire-protocols-1m51",
      "archive_path": "devto/articles/3118738.json",
      "tags": [
        "mongodb",
        "postgres",
        "json",
        "network"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "wka4e",
      "title": "End-of-Year Thoughts on PostgreSQL (2025)",
      "published_at": "2025-12-20",
      "canonical_url": "https://www.linkedin.com/pulse/end-of-year-thoughts-postgresql-2026-franck-pachot-wka4e",
      "archive_path": "linkedin/articles/wka4e.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "3116342",
      "title": "Atlas Search scoring calculation and why Lucene scores differ from Elasticsearch and pg_(text)search",
      "published_at": "2025-12-19T22:05:59Z",
      "canonical_url": "https://dev.to/franckpachot/atlas-search-score-details-the-bm25-calculation-2g55",
      "archive_path": "devto/articles/3116342.json",
      "tags": [
        "mongodb",
        "elasticsearch",
        "postgres",
        "text"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3110780",
      "title": "Using $sql in Oracle Database instead of explain(\"executionStats\")",
      "published_at": "2025-12-17T10:00:22Z",
      "canonical_url": "https://dev.to/franckpachot/the-sql-aggregation-stage-in-oracle-database-to-replace-explainexecutionstats-3clj",
      "archive_path": "devto/articles/3110780.json",
      "tags": [
        "mongodb",
        "oracle",
        "emulation",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3104255",
      "title": "Many-to-One: Stronger Relationship Design with MongoDB",
      "published_at": "2025-12-15T23:58:37Z",
      "canonical_url": "https://dev.to/franckpachot/many-to-one-in-mongodb-embed-or-reference-lookup-or-find-i58",
      "archive_path": "devto/articles/3104255.json",
      "tags": [
        "mongodb",
        "database",
        "schema",
        "modeling"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3102686",
      "title": "No, MongoDB Does Not Mean Skipping Design",
      "published_at": "2025-12-12T23:07:37Z",
      "canonical_url": "https://thenewstack.io/rethinking-data-integrity-why-domain-driven-design-is-crucial/",
      "archive_path": "devto/articles/3102686.json",
      "tags": [
        "mongodb",
        "database",
        "integrity",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3027302",
      "title": "New Relic - CPU usage (%) and Load Average",
      "published_at": "2025-12-03T23:39:06Z",
      "canonical_url": "https://dev.to/aws-heroes/new-relic-cpu-usage-and-load-average-3o4",
      "archive_path": "devto/articles/3027302.json",
      "tags": [
        "observability",
        "cpu",
        "load",
        "linux"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3069329",
      "title": "Script to list MongoDB collection URI (to map to WiredTiger files)",
      "published_at": "2025-11-29T14:07:49Z",
      "canonical_url": "https://dev.to/franckpachot/script-to-list-mongodb-collection-uri-to-map-to-wiredtiger-files-4k2n",
      "archive_path": "devto/articles/3069329.json",
      "tags": [
        "mongodb",
        "wiredtiger",
        "tracing"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3065018",
      "title": "MongoDB Index Intersection (and PostgreSQL Bitmap-and)",
      "published_at": "2025-11-27T18:16:42Z",
      "canonical_url": "https://dev.to/franckpachot/mongodb-index-intersection-and-postgresql-bitmap-scan-40a6",
      "archive_path": "devto/articles/3065018.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3035325",
      "title": "What writeConcern: {w: 1} Really Means: Isolation and Durability",
      "published_at": "2025-11-24T14:07:20Z",
      "canonical_url": "https://dev.to/mongodb/what-writeconcern-w-1-really-means-isolation-and-durability-3glk",
      "archive_path": "devto/articles/3035325.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "acid"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3051440",
      "title": "Data Locality vs. Independence (NoSQL vs. SQL)",
      "published_at": "2025-11-23T14:55:49Z",
      "canonical_url": "https://thenewstack.io/why-store-together-access-together-matters-for-your-database",
      "archive_path": "devto/articles/3051440.json",
      "tags": [
        "mongodb",
        "database",
        "sql",
        "nosql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3041533",
      "title": "INNER JOIN and LEFT OUTER JOIN in MongoDB (with $lookup and $unwind)",
      "published_at": "2025-11-21T17:28:29Z",
      "canonical_url": "https://dev.to/mongodb/inner-join-and-left-outer-join-in-mongodb-with-lookup-and-unwind-2ge4",
      "archive_path": "devto/articles/3041533.json",
      "tags": [
        "mongodb",
        "database",
        "sql",
        "join"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3032189",
      "title": "Nested Loop and Hash Join for MongoDB $lookup",
      "published_at": "2025-11-17T20:33:14Z",
      "canonical_url": "https://dev.to/mongodb/nested-loop-and-hash-join-for-mongodb-lookup-259d",
      "archive_path": "devto/articles/3032189.json",
      "tags": [
        "mongodb",
        "document",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3016195",
      "title": "Amazon DocumentDB New Query Planner (version 2)",
      "published_at": "2025-11-14T23:15:11Z",
      "canonical_url": "https://dev.to/aws-heroes/amazon-documentdb-new-query-planner-2dh0",
      "archive_path": "devto/articles/3016195.json",
      "tags": [
        "mongodb",
        "aws",
        "documentdb",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "3012967",
      "title": "How does it scale? A basic OLTP benchmark on MongoDB",
      "published_at": "2025-11-11T15:32:53Z",
      "canonical_url": "https://dev.to/mongodb/how-does-it-scale-the-most-basic-benchmark-on-mongodb-p9b",
      "archive_path": "devto/articles/3012967.json",
      "tags": [
        "mongodb",
        "benchmark",
        "performance",
        "scalability"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2982347",
      "title": "Covering Index for $group/$sum in MongoDB Aggregation (With Hint)",
      "published_at": "2025-11-01T22:25:14Z",
      "canonical_url": "https://dev.to/mongodb/covering-index-for-group-in-mongodb-aggregation-with-hint-4e6m",
      "archive_path": "devto/articles/2982347.json",
      "tags": [
        "mongodb",
        "database",
        "performance",
        "groupby"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2907359",
      "title": "Advanced Query Capabilities 👉🏻 aggregation pipelines",
      "published_at": "2025-10-22T19:35:48Z",
      "canonical_url": "https://dev.to/franckpachot/advanced-query-capabilities-aggregation-pipelines-137m",
      "archive_path": "devto/articles/2907359.json",
      "tags": [
        "database",
        "mongodb",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2889160",
      "title": "First/Last per Group: PostgreSQL DISTINCT ON and MongoDB DISTINCT_SCAN Performance",
      "published_at": "2025-10-03T22:08:35Z",
      "canonical_url": "https://dev.to/mongodb/firstlast-per-group-postgresql-distinct-on-and-mongodb-distinctscan-performance-1e9d",
      "archive_path": "devto/articles/2889160.json",
      "tags": [
        "mongodb",
        "postgres",
        "database",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2850562",
      "title": "WiredTigerHS.wt: MongoDB MVCC Durable History Store",
      "published_at": "2025-09-28T20:44:53Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-mvcc-durable-history-store-wiredtigerhswt-mn2",
      "archive_path": "devto/articles/2850562.json",
      "tags": [
        "mongodb",
        "wiredtiger",
        "database",
        "mvcc"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2859516",
      "title": "MongoDB Search Index Internals With Luke (Lucene Toolbox GUI Tool)",
      "published_at": "2025-09-21T22:26:50Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-search-index-internals-with-luke-lucene-toolbox-gui-tool-2842",
      "archive_path": "devto/articles/2859516.json",
      "tags": [
        "mongodb",
        "text",
        "search",
        "lucene"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2854549",
      "title": "Text Search With MongoDB (BM25 TF-IDF) and PostgreSQL",
      "published_at": "2025-09-19T20:41:13Z",
      "canonical_url": "https://dev.to/mongodb/text-search-with-mongodb-and-postgresql-full-text-search-1blg",
      "archive_path": "devto/articles/2854549.json",
      "tags": [
        "database",
        "mongodb",
        "postgres",
        "elasticsearch"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2847233",
      "title": "Combine Two JSON Collections with Nested Arrays: MongoDB and PostgreSQL Aggregations",
      "published_at": "2025-09-18T07:20:14Z",
      "canonical_url": "https://dev.to/franckpachot/combine-two-json-collections-with-nested-arrays-mongodb-and-postgresql-aggregations-30k2",
      "archive_path": "devto/articles/2847233.json",
      "tags": [
        "mongodb",
        "postgres",
        "sql",
        "json"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2845065",
      "title": "MongoDB Multikey Indexes and Index Bound Optimization",
      "published_at": "2025-09-16T07:38:23Z",
      "canonical_url": "https://dev.to/franckpachot/mongodb-multikey-indexes-and-index-bound-optimization-ol9",
      "archive_path": "devto/articles/2845065.json",
      "tags": [
        "database",
        "mongodb",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2841989",
      "title": "MongoDB Internals: How Collections and Indexes Are Stored in WiredTiger",
      "published_at": "2025-09-14T17:25:13Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-internals-how-collections-and-indexes-are-stored-in-wiredtiger-2ed",
      "archive_path": "devto/articles/2841989.json",
      "tags": [
        "mongodb",
        "database",
        "wiredtiger",
        "internals"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2829275",
      "title": "Resilience of MongoDB's WiredTiger Storage Engine to Disk Failure Compared to PostgreSQL and Oracle",
      "published_at": "2025-09-08T21:50:19Z",
      "canonical_url": "https://dev.to/mongodb/resilience-of-mongodbs-wiredtiger-storage-engine-to-disk-failure-compared-to-postgresql-and-oracle-h9f",
      "archive_path": "devto/articles/2829275.json",
      "tags": [
        "mongodb",
        "wiredtiger",
        "postgres",
        "oracle"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2809970",
      "title": "DocumentDB: Comparing Emulation Internals with MongoDB",
      "published_at": "2025-09-01T08:40:00Z",
      "canonical_url": "https://dev.to/aws-heroes/documentdb-comparing-emulations-with-mongodb-4cec",
      "archive_path": "devto/articles/2809970.json",
      "tags": [
        "mongodb",
        "postgres",
        "documentdb",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2804512",
      "title": "Updates to the Same Value: MongoDB Optimization",
      "published_at": "2025-08-28T19:17:47Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-optimizes-updates-to-the-same-value-1f2k",
      "archive_path": "devto/articles/2804512.json",
      "tags": [
        "mongodb",
        "postgres",
        "database",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2803581",
      "title": "PostgreSQL JSONB Size Limits to Prevent TOAST Slicing",
      "published_at": "2025-08-27T22:01:54Z",
      "canonical_url": "https://dev.to/franckpachot/postgresql-jsonb-size-limits-to-prevent-toast-slicing-9e8",
      "archive_path": "devto/articles/2803581.json",
      "tags": [
        "postgres",
        "toast",
        "document",
        "jsonb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2787817",
      "title": "Embedding Into JSONB Still Feels Like a JOIN for Large Documents",
      "published_at": "2025-08-24T09:30:35Z",
      "canonical_url": "https://dev.to/mongodb/embedding-into-jsonb-still-feels-like-a-join-for-large-documents-3nd0",
      "archive_path": "devto/articles/2787817.json",
      "tags": [
        "postgres",
        "mongodb",
        "json",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2777174",
      "title": "MongoDB Arrays: Sort Order and Comparison",
      "published_at": "2025-08-18T09:26:35Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-arrays-sort-order-and-comparison-d9d",
      "archive_path": "devto/articles/2777174.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "array"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2775490",
      "title": "Why Doesn't Oracle Multi-Value Index Optimize .sort() Like MongoDB Does With its Multi-Key Index?",
      "published_at": "2025-08-15T14:28:00Z",
      "canonical_url": "https://dev.to/mongodb/why-doesnt-oracle-multi-value-index-optimize-sort-like-mongodb-does-with-its-multi-key-index-2b5c",
      "archive_path": "devto/articles/2775490.json",
      "tags": [
        "mongodb",
        "oracle",
        "index",
        "json"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2770491",
      "title": "Does PostgreSQL support as much \"schema flexibility\" as MongoDB? Not for indexing!",
      "published_at": "2025-08-12T21:45:44Z",
      "canonical_url": "https://dev.to/mongodb/does-postgresql-support-as-much-schema-flexibility-as-mongodb-not-for-indexing-412g",
      "archive_path": "devto/articles/2770491.json",
      "tags": [
        "postgres",
        "json",
        "jsonb",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2768109",
      "title": "PostgreSQL UUID: Bulk insert with UUIDv7 vs UUIDv4",
      "published_at": "2025-08-11T20:07:07Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-uuid-bulk-insert-with-uuidv7-vs-uuidv4-4oca",
      "archive_path": "devto/articles/2768109.json",
      "tags": [
        "postgres",
        "uuid",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2728789",
      "title": "Joining and grouping on array fields in MongoDB may require using $unwind before applying $group or $lookup",
      "published_at": "2025-08-08T19:35:35Z",
      "canonical_url": "https://dev.to/mongodb/joining-and-grouping-on-array-fields-in-mongodb-may-require-using-unwind-before-applying-group-or-41nj",
      "archive_path": "devto/articles/2728789.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2748599",
      "title": "MongoDB indexing internals: .showRecordId() and .hint({$natural:1})",
      "published_at": "2025-08-07T14:13:13Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-indexing-internals-showrecordid-and-hintnatural1-4cpl",
      "archive_path": "devto/articles/2748599.json",
      "tags": [
        "mongodb",
        "database",
        "storage",
        "clustered"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2752959",
      "title": "Transaction performance 👉🏻 retry with backoff",
      "published_at": "2025-08-05T12:31:35Z",
      "canonical_url": "https://dev.to/franckpachot/transaction-performance-retry-with-backoff-12lm",
      "archive_path": "devto/articles/2752959.json",
      "tags": [
        "mongodb",
        "transaction",
        "benchmark",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2750693",
      "title": "Why MongoDB skips indexes when flattening or renaming sub-document fields in $project before $match aggregation pipeline",
      "published_at": "2025-08-04T17:38:11Z",
      "canonical_url": "https://dev.to/mongodb/why-mongodb-skips-indexes-when-flattening-or-renaming-sub-document-fields-in-project-before-match-1o6d",
      "archive_path": "devto/articles/2750693.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2669399",
      "title": "MongoDB High Availability: Replica Set in a Docker Lab",
      "published_at": "2025-08-02T18:20:00Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-high-availability-replicaset-in-a-docker-lab-4jlc",
      "archive_path": "devto/articles/2669399.json",
      "tags": [
        "mongodb",
        "database",
        "docker",
        "devops"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2716028",
      "title": "Lock-Free Wait-on-Conflict and Fail-on-Conflict in MongoDB",
      "published_at": "2025-07-23T17:49:18Z",
      "canonical_url": "https://dev.to/mongodb/lock-free-wait-on-conflict-and-fail-on-conflict-in-mongodb-372h",
      "archive_path": "devto/articles/2716028.json",
      "tags": [
        "mongodb",
        "database",
        "transaction",
        "consistency"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2714273",
      "title": ".hint() in MongoDB is different that SQL optimizer hints: they force indexes",
      "published_at": "2025-07-22T21:01:51Z",
      "canonical_url": "https://dev.to/mongodb/hint-in-mongodb-is-different-that-sql-optimizer-hints-they-force-indexes-4c33",
      "archive_path": "devto/articles/2714273.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2706969",
      "title": "Database latency with PostgreSQL and MongoDB: it's the data model that makes it fast",
      "published_at": "2025-07-21T07:09:02Z",
      "canonical_url": "https://dev.to/mongodb/client-server-latency-in-postgresql-and-mongodb-81h",
      "archive_path": "devto/articles/2706969.json",
      "tags": [
        "mongodb",
        "database",
        "postgres",
        "edge"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2707842",
      "title": "$isArray: [💬,💬,💬] ❌ - Arrays are Argument Lists in MongoDB Aggregation Pipeline",
      "published_at": "2025-07-20T17:04:22Z",
      "canonical_url": "https://dev.to/mongodb/isarray-arrays-are-argument-lists-in-mongodb-aggregation-pipeline-1cch",
      "archive_path": "devto/articles/2707842.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2703992",
      "title": "Sequences in MongoDB",
      "published_at": "2025-07-18T17:13:45Z",
      "canonical_url": "https://dev.to/mongodb/sequences-in-mongodb-with-gap-and-no-gap-transactional-57e4",
      "archive_path": "devto/articles/2703992.json",
      "tags": [
        "mongodb",
        "database",
        "sequence",
        "sql"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "rp1pe",
      "title": "Data Modeling: Is Normalization Still Relevant?",
      "published_at": "2025-07-18",
      "canonical_url": "https://www.linkedin.com/pulse/data-modeling-normalization-still-relevant-franck-pachot-rp1pe",
      "archive_path": "linkedin/articles/rp1pe.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2672857",
      "title": "Wildcard Indexes: MongoDB flexibility joins query performance",
      "published_at": "2025-07-10T15:14:32Z",
      "canonical_url": "https://dev.to/franckpachot/wildcard-indexes--19la",
      "archive_path": "devto/articles/2672857.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2665934",
      "title": "ALTER TABLE ... ADD COLUMN",
      "published_at": "2025-07-08T09:46:48Z",
      "canonical_url": "https://dev.to/mongodb/alter-table-add-column-2nlp",
      "archive_path": "devto/articles/2665934.json",
      "tags": [
        "postgres",
        "mongodb",
        "database",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2651464",
      "title": "Erik (author of Lucene in Action) is starting a series on search indexes",
      "published_at": "2025-07-03T12:36:27Z",
      "canonical_url": "https://dev.to/franckpachot/erik-is-starting-a-series-on-search-indexes-5ba8",
      "archive_path": "devto/articles/2651464.json",
      "tags": [
        "mongodb",
        "atlas",
        "search",
        "regex"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "mjo4e",
      "title": "PostgreSQL Extensions and the \"Anarchy in the Database\" VLDB paper",
      "published_at": "2025-07-01",
      "canonical_url": "https://www.linkedin.com/pulse/postgresql-extensions-anarchy-database-vldb-paper-franck-pachot-mjo4e",
      "archive_path": "linkedin/articles/mjo4e.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2638775",
      "title": "Strong consistency 👉🏻 MongoDB highly available durable writes (Replication)",
      "published_at": "2025-06-30T18:00:02Z",
      "canonical_url": "https://dev.to/mongodb/strong-consistency-mongodb-highly-available-durable-writes-2j2k",
      "archive_path": "devto/articles/2638775.json",
      "tags": [
        "mongodb",
        "acid",
        "consistency",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2632801",
      "title": "Flush to disk on commit 👉🏻 MongoDB durable writes (ACID)",
      "published_at": "2025-06-28T09:39:15Z",
      "canonical_url": "https://dev.to/mongodb/committed-writes-are-flushed-to-disk-mongodb-durability-12o9",
      "archive_path": "devto/articles/2632801.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "acid"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2615691",
      "title": "No pre-filtering in pgvector means reduced ANN recall (impact on Vector Search accuracy)",
      "published_at": "2025-06-24T16:44:10Z",
      "canonical_url": "https://dev.to/mongodb/no-pre-filtering-in-pgvector-means-reduced-ann-recall-1aa1",
      "archive_path": "devto/articles/2615691.json",
      "tags": [
        "postgres",
        "vector",
        "database",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2610586",
      "title": "faster $lookup after $group in MongoDB aggregation pipeline (Performance Optimization Tips)",
      "published_at": "2025-06-22T21:26:19Z",
      "canonical_url": "https://dev.to/mongodb/faster-lookup-after-group-in-mongodb-aggregation-pipeline-5fbp",
      "archive_path": "devto/articles/2610586.json",
      "tags": [
        "mongodb",
        "lookup",
        "join",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2603901",
      "title": "One million $lookup challenge (performance comparison)",
      "published_at": "2025-06-19T15:08:36Z",
      "canonical_url": "https://dev.to/mongodb/one-million-lookup-challenge-mongodb-slow-join-1kao",
      "archive_path": "devto/articles/2603901.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "join"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2598230",
      "title": "$lookup: more than just a SQL join (understand performance)",
      "published_at": "2025-06-17T14:24:24Z",
      "canonical_url": "https://dev.to/mongodb/lookup-is-more-than-just-a-sql-join-3b90",
      "archive_path": "devto/articles/2598230.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2594489",
      "title": "Queries on JSON 👉🏻 compound indexes (Equality, Sort, Range) in MongoDB",
      "published_at": "2025-06-15T21:07:57Z",
      "canonical_url": "https://dev.to/mongodb/queries-on-json-compound-indexes-equality-sort-range-2lce",
      "archive_path": "devto/articles/2594489.json",
      "tags": [
        "mongodb",
        "document",
        "postgres",
        "json"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2588181",
      "title": "DuckDB to query MongoDB",
      "published_at": "2025-06-13T16:10:09Z",
      "canonical_url": "https://dev.to/mongodb/duckdb-to-query-mongodb-3lnk",
      "archive_path": "devto/articles/2588181.json",
      "tags": [
        "postgres",
        "mongodb",
        "duckdb",
        "analytics"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2576478",
      "title": "Comparison of JOINS 👉🏻 aggregation pipeline and CTEs",
      "published_at": "2025-06-09T16:20:30Z",
      "canonical_url": "https://dev.to/mongodb/comparison-of-joins-mongodb-vs-postgresql-aggregation-pipeline-4h12",
      "archive_path": "devto/articles/2576478.json",
      "tags": [
        "mongodb",
        "lookup",
        "join",
        "aggregation"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2576242",
      "title": "\"Schema Later\" considered harmful 👉🏻 schema validation (enforced data consistency)",
      "published_at": "2025-06-09T16:10:52Z",
      "canonical_url": "https://dev.to/mongodb/schema-later-considered-harmful-use-schema-validation-in-mongodb-364o",
      "archive_path": "devto/articles/2576242.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2569051",
      "title": "Isolation Level for MongoDB Multi-Document Transactions (Strong Consistency)",
      "published_at": "2025-06-06T16:17:03Z",
      "canonical_url": "https://dev.to/mongodb/isolation-level-for-mongodb-multi-document-transactions-3lfi",
      "archive_path": "devto/articles/2569051.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "acid"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2550082",
      "title": "JSONB DeTOASTing (read amplification) when using PostgreSQL as a Document Database",
      "published_at": "2025-06-04T10:15:57Z",
      "canonical_url": "https://dev.to/mongodb/jsonb-detoasting-read-amplification-4ikj",
      "archive_path": "devto/articles/2550082.json",
      "tags": [
        "postgres",
        "jsonb",
        "document",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2549165",
      "title": "No HOT updates on JSONB (write amplification) performance impact",
      "published_at": "2025-05-31T17:52:11Z",
      "canonical_url": "https://dev.to/mongodb/no-hot-updates-on-jsonb-13k7",
      "archive_path": "devto/articles/2549165.json",
      "tags": [
        "postgres",
        "document",
        "database",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2525374",
      "title": "$graphLookup (Connect By / Recursive Query)",
      "published_at": "2025-05-29T17:29:10Z",
      "canonical_url": "https://dev.to/franckpachot/graphlookup-connect-by-recursive-query-e7j",
      "archive_path": "devto/articles/2525374.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2522931",
      "title": "$elemMatch and Multi-Key Indexes",
      "published_at": "2025-05-28T17:44:11Z",
      "canonical_url": "https://dev.to/franckpachot/elemmatch-and-multi-key-indexes-i6e",
      "archive_path": "devto/articles/2522931.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2532950",
      "title": "Google Firestore with MongoDB compatibility - index limitations",
      "published_at": "2025-05-27T13:57:09Z",
      "canonical_url": "https://dev.to/franckpachot/firestore-with-mongodb-compatibility-testing-pagination-queries-jmf",
      "archive_path": "devto/articles/2532950.json",
      "tags": [
        "mongodb",
        "database",
        "index",
        "firestore"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2522746",
      "title": "Sort on Array with Multi-Key Index",
      "published_at": "2025-05-27T05:50:00Z",
      "canonical_url": "https://dev.to/franckpachot/sort-on-array-with-multi-key-index-2nhn",
      "archive_path": "devto/articles/2522746.json",
      "tags": [
        "mongodb",
        "document",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2516063",
      "title": "Equality with Multiple Values, Preserving Sort for Pagination",
      "published_at": "2025-05-26T05:13:00Z",
      "canonical_url": "https://dev.to/franckpachot/equality-with-multiple-values-preserving-sort-for-pagination-ddh",
      "archive_path": "devto/articles/2516063.json",
      "tags": [
        "mongodb",
        "database",
        "index",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2522167",
      "title": "No Index for LIKE on JSONB with Array in the Path (GIN limitation)",
      "published_at": "2025-05-24T17:35:16Z",
      "canonical_url": "https://dev.to/mongodb/no-index-for-like-on-jsonb-with-array-in-the-path-hbe",
      "archive_path": "devto/articles/2522167.json",
      "tags": [
        "mongodb",
        "postgres",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2515074",
      "title": "B-Tree for Equality, Sort, Range (indexing strategies in MongoDB)",
      "published_at": "2025-05-23T17:20:24Z",
      "canonical_url": "https://dev.to/franckpachot/b-tree-for-equality-sort-range-2ego",
      "archive_path": "devto/articles/2515074.json",
      "tags": [
        "mongodb",
        "database",
        "index",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2517428",
      "title": "No Index Only Scan on JSONB Fields (even on scalar)",
      "published_at": "2025-05-23T09:02:40Z",
      "canonical_url": "https://dev.to/mongodb/no-index-only-scan-on-jsonb-fields-and-with-even-scalar-6n6",
      "archive_path": "devto/articles/2517428.json",
      "tags": [
        "postgres",
        "mongodb",
        "json",
        "document"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2517414",
      "title": "Intro to PostgreSQL with JSONB compared to MongoDB, a general purpose document database",
      "published_at": "2025-05-23T08:56:49Z",
      "canonical_url": "https://dev.to/mongodb/postgresql-with-jsonb-and-mongodb-with-schema-2nh0",
      "archive_path": "devto/articles/2517414.json",
      "tags": [
        "postgres",
        "mongodb",
        "json",
        "document"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2515069",
      "title": "Search Index for Reporting",
      "published_at": "2025-05-22T17:39:29Z",
      "canonical_url": "https://dev.to/franckpachot/search-index-for-reporting-1d7n",
      "archive_path": "devto/articles/2515069.json",
      "tags": [
        "mongodb",
        "database",
        "index",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2515061",
      "title": "Sampling Without Index",
      "published_at": "2025-05-22T17:24:07Z",
      "canonical_url": "https://dev.to/franckpachot/sampling-without-index-b0d",
      "archive_path": "devto/articles/2515061.json",
      "tags": [
        "mongodb",
        "database",
        "index",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2510263",
      "title": "Indexing for New Use Cases Within the MongoDB Document Model (tutorial)",
      "published_at": "2025-05-22T17:23:38Z",
      "canonical_url": "https://dev.to/franckpachot/indexing-for-new-use-cases-within-the-mongodb-document-model-tutorial-2hdm",
      "archive_path": "devto/articles/2510263.json",
      "tags": [
        "mongodb",
        "database",
        "index",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2461605",
      "title": "Using a Star Query on MongoDB Atlas Search Index",
      "published_at": "2025-05-06T15:18:26Z",
      "canonical_url": "https://dev.to/mongodb/htap-using-a-star-query-on-mongodb-atlas-search-index-17p5",
      "archive_path": "devto/articles/2461605.json",
      "tags": [
        "mongodb",
        "htap",
        "olap",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2453549",
      "title": "Amazon DocumentDB and multi-key indexing",
      "published_at": "2025-05-05T15:31:09Z",
      "canonical_url": "https://dev.to/aws-heroes/amazon-documentdb-and-multi-key-indexing-147d",
      "archive_path": "devto/articles/2453549.json",
      "tags": [
        "mongodb",
        "aws",
        "documentdb",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2458709",
      "title": "Amazon DocumentDB != Microsoft DocumentDB extension for PostgreSQL",
      "published_at": "2025-05-04T18:08:12Z",
      "canonical_url": "https://dev.to/aws-heroes/amazon-documentdb-microsoft-documentdb-extension-for-postgresql-210f",
      "archive_path": "devto/articles/2458709.json",
      "tags": [
        "documentdb",
        "aws",
        "azure",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2451522",
      "title": "RUM instead of GIN but same limitations on JSON paths (tested on FerretDB 17-0.107.0)",
      "published_at": "2025-05-01T20:52:04Z",
      "canonical_url": "https://dev.to/franckpachot/microsoft-documentdb-rum-instead-of-gin-but-same-limitations-on-json-paths-48kn",
      "archive_path": "devto/articles/2451522.json",
      "tags": [
        "mongodb",
        "postgres",
        "document",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2449915",
      "title": "Querying embedded arrays in JSON (PostgreSQL JSONB and MongoDB documents)",
      "published_at": "2025-04-30T21:34:28Z",
      "canonical_url": "https://dev.to/franckpachot/query-and-index-json-array-fields-in-postgresql-and-mongodb-3md",
      "archive_path": "devto/articles/2449915.json",
      "tags": [
        "postgres",
        "json",
        "sql",
        "mongodb"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "wgyie",
      "title": "DB-Engines Ranking Method Reviewed",
      "published_at": "2025-04-29",
      "canonical_url": "https://www.linkedin.com/pulse/db-engines-ranking-method-reviewed-franck-pachot-wgyie",
      "archive_path": "linkedin/articles/wgyie.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2440910",
      "title": "PostgreSQL aborts the transactions on error",
      "published_at": "2025-04-28T07:19:38Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-rollback-on-error-515a",
      "archive_path": "devto/articles/2440910.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "savepoint"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2436911",
      "title": "Index Only Scan on JSON Documents in MongoDB, with covering and multi-key indexes",
      "published_at": "2025-04-27T17:46:15Z",
      "canonical_url": "https://dev.to/mongodb/index-only-scan-on-json-documents-with-covering-and-multi-key-indexes-in-mongodb-53h4",
      "archive_path": "devto/articles/2436911.json",
      "tags": [
        "database",
        "index",
        "webdev",
        "programming"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "gt4le",
      "title": "A benchmark is published by a database vendor and guess what? 🥁 their database is faster 👏🏼",
      "published_at": "2025-04-21",
      "canonical_url": "https://www.linkedin.com/pulse/benchmark-published-database-vendor-guess-what-faster-franck-pachot-gt4le",
      "archive_path": "linkedin/articles/gt4le.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2409682",
      "title": "PostgreSQL JSONB Indexing Limitations with B-Tree and GIN",
      "published_at": "2025-04-15T20:39:02Z",
      "canonical_url": "https://dev.to/mongodb/postgresql-jsonb-indexing-limitations-with-b-tree-and-gin-3851",
      "archive_path": "devto/articles/2409682.json",
      "tags": [
        "postgres",
        "gin",
        "btree",
        "jsonb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2404029",
      "title": "MongoDB With Search Indexes Queried as Kimball's Star Schema With Facts and Dimensions",
      "published_at": "2025-04-13T20:54:36Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-with-search-indexes-queried-as-kimballs-star-schema-with-facts-and-dimensions-k1",
      "archive_path": "devto/articles/2404029.json",
      "tags": [
        "mongodb",
        "search",
        "index",
        "analytics"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2397997",
      "title": "Oracle Multi-Value Index and ORDER BY Pagination queries",
      "published_at": "2025-04-11T07:16:27Z",
      "canonical_url": "https://dev.to/franckpachot/oracle-multi-value-index-and-order-by-pagination-queries-529e",
      "archive_path": "devto/articles/2397997.json",
      "tags": [
        "mongodb",
        "oracle",
        "multivalue",
        "oson"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2384679",
      "title": "Where SQL joins struggle but MongoDB documents shine",
      "published_at": "2025-04-06T20:46:49Z",
      "canonical_url": "https://dev.to/mongodb/a-case-where-sql-joins-struggle-but-mongodb-documents-shine-11kj",
      "archive_path": "devto/articles/2384679.json",
      "tags": [
        "mongodb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2375803",
      "title": "Foreign Keys: A must in SQL, but not in a Document Database?",
      "published_at": "2025-04-03T13:39:44Z",
      "canonical_url": "https://dev.to/mongodb/foreign-keys-a-must-in-sql-but-not-in-a-document-database-2alf",
      "archive_path": "devto/articles/2375803.json",
      "tags": [
        "mongodb",
        "sql",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2367376",
      "title": "The World Is Too Messy for SQL to Work",
      "published_at": "2025-03-31T07:13:32Z",
      "canonical_url": "https://www.linkedin.com/pulse/world-too-messy-sql-work-franck-pachot-jvq6e",
      "archive_path": "devto/articles/2367376.json",
      "tags": [
        "sql",
        "database",
        "relational",
        "document"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "jvq6e",
      "title": "❝ The World Is Too Messy for SQL to Work ❞",
      "published_at": "2025-03-31",
      "canonical_url": "https://www.linkedin.com/pulse/world-too-messy-sql-work-franck-pachot-jvq6e",
      "archive_path": "linkedin/articles/jvq6e.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2358692",
      "title": "MongoDB Vector Search Index, With Local Atlas and Ollama",
      "published_at": "2025-03-26T19:13:41Z",
      "canonical_url": "https://dev.to/mongodb/vector-search-index-in-mongodb-with-local-atlas-and-ollama-1p8j",
      "archive_path": "devto/articles/2358692.json",
      "tags": [
        "mongodb",
        "vectordatabase",
        "llm",
        "ai"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2353684",
      "title": "MongoDB TTL and Disk Storage",
      "published_at": "2025-03-24T14:41:28Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-ttl-and-disk-storage-2d35",
      "archive_path": "devto/articles/2353684.json",
      "tags": [
        "mongodb",
        "ttl",
        "index",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2337250",
      "title": "MongoDB equivalent for PostgreSQL JSONB operations",
      "published_at": "2025-03-19T14:53:35Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-equivalent-for-postgresql-jsonb-operations-hfo",
      "archive_path": "devto/articles/2337250.json",
      "tags": [
        "postgres",
        "mongodb",
        "document",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2306481",
      "title": "Normalization and Relational Division in SQL and MongoDB",
      "published_at": "2025-03-17T20:20:45Z",
      "canonical_url": "https://dev.to/mongodb/normalization-and-relational-division-in-sql-and-mongodb-212l",
      "archive_path": "devto/articles/2306481.json",
      "tags": [
        "mongodb",
        "sql",
        "relational",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2331326",
      "title": "MongoDB Multi-Planner Optimizer and Plan Cache",
      "published_at": "2025-03-13T22:56:08Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-multi-planner-optimizer-and-plan-cache-3g27",
      "archive_path": "devto/articles/2331326.json",
      "tags": [
        "mongodb",
        "database",
        "optimizer",
        "planner"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "c3hne",
      "title": "Relational and Document Data Modeling (50 years ago, 25 years ago, and 2025)",
      "published_at": "2025-03-11",
      "canonical_url": "https://www.linkedin.com/pulse/relational-document-data-modeling-50-years-ago-25-today-franck-pachot-c3hne",
      "archive_path": "linkedin/articles/c3hne.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2321065",
      "title": "Comparing Execution Plans: MongoDB vs. Compatible APIs",
      "published_at": "2025-03-09T23:56:16Z",
      "canonical_url": "https://dev.to/mongodb/comparing-execution-plans-mongodb-vs-compatible-apis-46p6",
      "archive_path": "devto/articles/2321065.json",
      "tags": [
        "mongodb",
        "oracle",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2301767",
      "title": "Order-preserving or-expansion in MongoDB and $in:[,,] treated as a range skip scan, or exploded to an equality for the ESR rule",
      "published_at": "2025-02-27T23:34:44Z",
      "canonical_url": "https://dev.to/mongodb/or-expansion-in-mongodb-and-how-in-is-treated-as-a-range-with-skip-scan-or-an-equality-for-2b38",
      "archive_path": "devto/articles/2301767.json",
      "tags": [
        "postgres",
        "index",
        "sort",
        "webdev"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2301189",
      "title": "Skip Scan in MongoDB with Range, Equality (RE) index as an alternative to Equality, Sort, Range (ESR)",
      "published_at": "2025-02-27T17:50:34Z",
      "canonical_url": "https://dev.to/mongodb/skip-scan-in-mongodb-with-range-equality-re-index-as-an-alternative-to-equality-sort-range-176p",
      "archive_path": "devto/articles/2301189.json",
      "tags": [
        "mongodb",
        "database",
        "indexing",
        "webdev"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2270247",
      "title": "MongoDB Equality, Sort, Range (ESR) without Equality (SR): add an unbounded range predicate on the indexed sort field",
      "published_at": "2025-02-11T17:22:55Z",
      "canonical_url": "https://dev.to/mongodb/mongodb-equality-sort-range-esr-without-equality-sr-add-an-unbounded-range-predicate-on-the-2j9n",
      "archive_path": "devto/articles/2270247.json",
      "tags": [
        "mongodb",
        "indexing",
        "database",
        "webdev"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2266720",
      "title": "Aurora DSQL is different than Aurora, but Aurora DSQL belongs to Aurora (which belongs to RDS)",
      "published_at": "2025-02-09T00:02:45Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-dsql-is-different-than-aurora-but-aurora-dsql-belongs-to-aurora-25e8",
      "archive_path": "devto/articles/2266720.json",
      "tags": [
        "aws",
        "rds",
        "aurora",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2199299",
      "title": "Document Expiration with TTL Indexes in MongoDB",
      "published_at": "2025-02-08T15:04:00Z",
      "canonical_url": "https://dev.to/franckpachot/document-expiration-with-ttl-indexes-in-mongodb-2007",
      "archive_path": "devto/articles/2199299.json",
      "tags": [
        "mongodb",
        "ttl",
        "index",
        "metrics"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2263271",
      "title": "My Journey to NoSQL and Document Databases",
      "published_at": "2025-02-06T22:30:01Z",
      "canonical_url": "https://dev.to/franckpachot/my-journey-to-nosql-and-document-databases-4hdg",
      "archive_path": "devto/articles/2263271.json",
      "tags": [
        "mongodb"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "e4shf",
      "title": "2025: I'm joining MongoDB",
      "published_at": "2025-02-06",
      "canonical_url": "https://www.linkedin.com/pulse/2025-im-joining-mongodb-franck-pachot-e4shf",
      "archive_path": "linkedin/articles/e4shf.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2259454",
      "title": "UUIDv7 in YugabyteDB",
      "published_at": "2025-02-05T00:16:38Z",
      "canonical_url": "https://dev.to/yugabyte/uuidv7-in-yugabytedb-5ag7",
      "archive_path": "devto/articles/2259454.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "33738",
      "title": "PostgreSQL 15 Compatibility in YugabyteDB 2.25: Top 15 Features!",
      "published_at": "2025-01-31T12:00:00",
      "canonical_url": "https://www.yugabyte.com/blog/postgresql-15-compatibility-in-yugabytedb/",
      "archive_path": "yugabyte/articles/33738.json",
      "tags": [
        "Distributed SQL",
        "PostgreSQL",
        "Release Announcements",
        "YugabyteDB"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "fleme",
      "title": "Where is the database schema? #SQL #NoSQL",
      "published_at": "2025-01-31",
      "canonical_url": "https://www.linkedin.com/pulse/where-database-schema-sql-nosql-franck-pachot-fleme",
      "archive_path": "linkedin/articles/fleme.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2250377",
      "title": "⛔ ORDER BY in Subquery",
      "published_at": "2025-01-30T14:55:11Z",
      "canonical_url": "https://dev.to/yugabyte/order-by-in-subquery-3hop",
      "archive_path": "devto/articles/2250377.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2247779",
      "title": "set parameter if exists",
      "published_at": "2025-01-29T07:41:59Z",
      "canonical_url": "https://dev.to/yugabyte/set-parameter-if-exists-3402",
      "archive_path": "devto/articles/2247779.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2241892",
      "title": "ESR (Equality, Sort, Range) rule applied to YugabyteDB and PostgreSQL indexes",
      "published_at": "2025-01-26T18:50:56Z",
      "canonical_url": "https://dev.to/yugabyte/esr-equality-sort-range-rule-for-yugabytedb-indexes-fi4",
      "archive_path": "devto/articles/2241892.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "index",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2231411",
      "title": "Indexing for NOT EQUAL (<>,!=) in YugabyteDB, PostgreSQL, Oracle Database, SQL Server, and MongoDB",
      "published_at": "2025-01-24T22:48:43Z",
      "canonical_url": "https://dev.to/aws-heroes/indexing-for-not-equal-in-yugabytedb-postgresql-oracle-database-and-mongodb-25mo",
      "archive_path": "devto/articles/2231411.json",
      "tags": [
        "mongodb",
        "oracle",
        "postgres",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2231807",
      "title": "PostgreSQL 15 Compatibility in YugabyteDB 2.25: Top 15 Features!",
      "published_at": "2025-01-22T07:15:45Z",
      "canonical_url": "https://www.yugabyte.com/blog/postgresql-15-compatibility-in-yugabytedb/",
      "archive_path": "devto/articles/2231807.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2227624",
      "title": "PostgreSQL Synchronized Sequential Scans and LIMIT without an ORDER BY",
      "published_at": "2025-01-20T16:17:41Z",
      "canonical_url": "https://dev.to/franckpachot/postgresql-synchronized-sequential-scans-and-limit-without-an-order-by-1kia",
      "archive_path": "devto/articles/2227624.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "fullscan"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2218295",
      "title": "Aggregates with NULL: count(), min(), max(), sum()",
      "published_at": "2025-01-17T13:33:18Z",
      "canonical_url": "https://dev.to/yugabyte/null-arithmetic-and-aggregates-count-min-max-sum-5c95",
      "archive_path": "devto/articles/2218295.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2212775",
      "title": "What does NULL mean in an OUTER JOIN? (\"unknown\" vs. \"not exists\")",
      "published_at": "2025-01-16T18:45:38Z",
      "canonical_url": "https://dev.to/yugabyte/what-does-null-mean-in-an-outer-join-unknown-vs-not-exists-4kng",
      "archive_path": "devto/articles/2212775.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2207456",
      "title": "PostgreSQL plan_cache_mode",
      "published_at": "2025-01-14T14:10:09Z",
      "canonical_url": "https://dev.to/yugabyte/plancachemode-1jf9",
      "archive_path": "devto/articles/2207456.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2206900",
      "title": "could not serialize access due to concurrent update",
      "published_at": "2025-01-14T11:42:24Z",
      "canonical_url": "https://dev.to/yugabyte/could-not-serialize-access-due-to-concurrent-update-40na",
      "archive_path": "devto/articles/2206900.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2193108",
      "title": "Unique Index on NULL Values in SQL & NoSQL",
      "published_at": "2025-01-12T13:25:00Z",
      "canonical_url": "https://dev.to/aws-heroes/unique-index-on-null-values-in-sql-nosql-34ej",
      "archive_path": "devto/articles/2193108.json",
      "tags": [
        "postgres",
        "oracle",
        "mongodb",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2194144",
      "title": "Large IntentsDB MemTable with Many Small SST Files",
      "published_at": "2025-01-08T15:14:39Z",
      "canonical_url": "https://dev.to/yugabyte/large-intentsdb-memtable-with-many-small-sst-files-pjl",
      "archive_path": "devto/articles/2194144.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2186701",
      "title": "Index Filtering in PostgreSQL and YugabyteDB (Index Scan instead of Index Only Scan)",
      "published_at": "2025-01-03T11:32:24Z",
      "canonical_url": "https://dev.to/yugabyte/index-filtering-in-postgresql-and-yugabytedb-1ck7",
      "archive_path": "devto/articles/2186701.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2186347",
      "title": "Aurora DSQL: How it Compares to YugabyteDB",
      "published_at": "2025-01-02T17:51:05Z",
      "canonical_url": "https://www.yugabyte.com/blog/aurora-dsql-compared-to-yugabytedb",
      "archive_path": "devto/articles/2186347.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "33701",
      "title": "Aurora DSQL: How the Latest Distributed SQL Database Compares to YugabyteDB",
      "published_at": "2025-01-02T13:50:38",
      "canonical_url": "https://www.yugabyte.com/blog/aurora-dsql-compared-to-yugabytedb/",
      "archive_path": "yugabyte/articles/33701.json",
      "tags": [
        "Aurora DSQL",
        "Distributed SQL",
        "PostgreSQL",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2180360",
      "title": "More details in pg_locks for YugabyteDB",
      "published_at": "2024-12-29T10:11:20Z",
      "canonical_url": "https://dev.to/yugabyte/more-information-in-pglocks-for-yugabytedb-vs-postgresql-7n8",
      "archive_path": "devto/articles/2180360.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2178473",
      "title": "Document data modeling to avoid write skew anomalies",
      "published_at": "2024-12-28T00:11:53Z",
      "canonical_url": "https://dev.to/yugabyte/document-data-modeling-to-avoid-write-skew-anomaly-doctors-on-call-shift-example-465d",
      "archive_path": "devto/articles/2178473.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "json"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2174604",
      "title": "When to replace IN() with EXISTS() - correlated and uncorrelated subqueries",
      "published_at": "2024-12-25T22:02:35Z",
      "canonical_url": "https://dev.to/yugabyte/when-to-replace-in-with-exists-correlated-and-uncorrelated-subqueries-flk",
      "archive_path": "devto/articles/2174604.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2165908",
      "title": "Referential integrity In The Absence Of Foreign Key",
      "published_at": "2024-12-19T23:09:26Z",
      "canonical_url": "https://dev.to/aws-heroes/referential-integrity-in-the-absence-of-foreign-key-3mbd",
      "archive_path": "devto/articles/2165908.json",
      "tags": [
        "aws",
        "aurora",
        "dsql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2160860",
      "title": "2024.2: Faster with Shared Memory Between PostgreSQL and TServer Layers",
      "published_at": "2024-12-17T11:22:33Z",
      "canonical_url": "https://dev.to/yugabyte/20242-faster-with-shared-memory-between-postgresql-and-tserver-layers-5fg0",
      "archive_path": "devto/articles/2160860.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2159062",
      "title": "Multi-Region Distributed SQL Transaction Latency",
      "published_at": "2024-12-16T20:16:51Z",
      "canonical_url": "https://dev.to/aws-heroes/multi-region-distributed-sql-transaction-latency-512n",
      "archive_path": "devto/articles/2159062.json",
      "tags": [
        "aws",
        "aurora",
        "dsql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2157413",
      "title": "Global Secondary Indexes in Distributed SQL",
      "published_at": "2024-12-15T21:20:11Z",
      "canonical_url": "https://dev.to/aws-heroes/global-secondary-indexes-in-distributed-sql-database-47fm",
      "archive_path": "devto/articles/2157413.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2155442",
      "title": "Optimistic Concurrency Control: Alice and Bob Couldn't Sit Together 🙁",
      "published_at": "2024-12-13T19:24:41Z",
      "canonical_url": "https://dev.to/aws-heroes/optimistic-concurrency-control-alice-and-bob-couldnt-sit-together-5bh",
      "archive_path": "devto/articles/2155442.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2151436",
      "title": "Joins, Scale, and Denormalization",
      "published_at": "2024-12-11T17:57:32Z",
      "canonical_url": "https://dev.to/aws-heroes/joins-and-denormalization-3dan",
      "archive_path": "devto/articles/2151436.json",
      "tags": [
        "aws",
        "postgres",
        "aurora",
        "dsql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2150524",
      "title": "DynamoDB-style Limits for Predictable SQL Performance?",
      "published_at": "2024-12-11T00:22:15Z",
      "canonical_url": "https://dev.to/aws-heroes/dynamodb-style-limits-for-predictable-performance-56b8",
      "archive_path": "devto/articles/2150524.json",
      "tags": [
        "aws",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2145951",
      "title": "Aurora DSQL - Simple Inserts Workload from an AWS CloudShell",
      "published_at": "2024-12-09T08:53:45Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-dsql-simple-inserts-from-an-aws-cloudshell-2kkd",
      "archive_path": "devto/articles/2145951.json",
      "tags": [
        "aws",
        "aurora",
        "dsql",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2134736",
      "title": "Aurora DSQL: Create a Serverless Cluster and Connect with PostgreSQL Client",
      "published_at": "2024-12-07T01:44:35Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-dsql-create-a-serverless-cluster-and-connect-with-postgresql-client-51mc",
      "archive_path": "devto/articles/2134736.json",
      "tags": [
        "aws",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2122071",
      "title": "Amazon Aurora DSQL: Which PostgreSQL Service Should I Use on AWS ?",
      "published_at": "2024-12-03T18:18:00Z",
      "canonical_url": "https://dev.to/aws-heroes/amazon-aurora-dsql-which-postgresql-service-should-i-use-on-aws--1598",
      "archive_path": "devto/articles/2122071.json",
      "tags": [
        "aws",
        "distributed",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "33645",
      "title": "Achieving Precise Clock Synchronization on AWS",
      "published_at": "2024-12-03T11:01:04",
      "canonical_url": "https://www.yugabyte.com/blog/aws-clock-synchronization/",
      "archive_path": "yugabyte/articles/33645.json",
      "tags": [
        "AWS",
        "Amazon Web Services",
        "Consistency",
        "Synchronized Clock",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2128846",
      "title": "YugabyteDB MVCC and Updates: columns vs. JSON",
      "published_at": "2024-12-01T04:34:50Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-mvcc-and-updates-columns-vs-json-3ndh",
      "archive_path": "devto/articles/2128846.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2128232",
      "title": "Aurora Limitless - Sequences",
      "published_at": "2024-11-30T16:14:52Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-sequences-3b74",
      "archive_path": "devto/articles/2128232.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2118810",
      "title": "Aurora Limitless - Global Consistency (ACID)",
      "published_at": "2024-11-29T07:37:14Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-global-consistency-acid-1m62",
      "archive_path": "devto/articles/2118810.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2118806",
      "title": "Aurora Limitless - Collocation (and porting PgBench)",
      "published_at": "2024-11-28T16:00:00Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-collocation-and-porting-pgbench-4jop",
      "archive_path": "devto/articles/2118806.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2118768",
      "title": "Aurora Limitless - Reference Tables",
      "published_at": "2024-11-27T16:00:00Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-reference-tables-1m9i",
      "archive_path": "devto/articles/2118768.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2118660",
      "title": "Aurora Limitless - Resharding",
      "published_at": "2024-11-26T16:00:00Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-resharding-39dl",
      "archive_path": "devto/articles/2118660.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2118557",
      "title": "Aurora Limitless - SQL Limitations",
      "published_at": "2024-11-26T07:00:00Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-sql-limitations-20if",
      "archive_path": "devto/articles/2118557.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2114084",
      "title": "No Gap Ordered Numbering in SQL: A Unique Index to Serialize In Read Committed",
      "published_at": "2024-11-25T21:57:44Z",
      "canonical_url": "https://dev.to/yugabyte/no-gap-ordered-numbering-in-sql-a-unique-index-to-serialize-in-read-committed-mcf",
      "archive_path": "devto/articles/2114084.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2117604",
      "title": "Aurora Limitless - Single and Multi-Shard Scan",
      "published_at": "2024-11-25T16:30:00Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-single-and-multi-shard-scan-7c7",
      "archive_path": "devto/articles/2117604.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "33594",
      "title": "Better Than PostgreSQL! In-Place Index Updates with YugabyteDB",
      "published_at": "2024-11-25T13:32:20",
      "canonical_url": "https://www.yugabyte.com/blog/yugabytedb-in-place-index/",
      "archive_path": "yugabyte/articles/33594.json",
      "tags": [
        "Index",
        "PostgreSQL",
        "Storage",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2117598",
      "title": "Aurora Limitless - Sharded Table",
      "published_at": "2024-11-25T06:00:00Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-sharded-table-4cbj",
      "archive_path": "devto/articles/2117598.json",
      "tags": [
        "aws",
        "postgres",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2117475",
      "title": "Aurora Limitless - Connection",
      "published_at": "2024-11-24T12:54:57Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-connection-4i3a",
      "archive_path": "devto/articles/2117475.json",
      "tags": [
        "aws",
        "aurora",
        "sharded",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2117474",
      "title": "Aurora Limitless - Creation",
      "published_at": "2024-11-24T10:49:35Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-limitless-creation-5d0i",
      "archive_path": "devto/articles/2117474.json",
      "tags": [
        "aws",
        "postgres",
        "distributed",
        "aurora"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2108912",
      "title": "Achieving Precise Clock Synchronization on AWS",
      "published_at": "2024-11-19T15:20:39Z",
      "canonical_url": "https://www.yugabyte.com/blog/aws-clock-synchronization/",
      "archive_path": "devto/articles/2108912.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2104010",
      "title": "blog yb Covering Indexes: add columns in the Key or in Include?",
      "published_at": "2024-11-15T20:36:02Z",
      "canonical_url": "https://dev.to/franckpachot/blog-yb-covering-indexes-add-columns-in-the-key-or-in-include-346n",
      "archive_path": "devto/articles/2104010.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2104024",
      "title": "100k Write IOPS in Aurora t3.medium ?",
      "published_at": "2024-11-14T14:41:27Z",
      "canonical_url": "https://dev.to/aws-heroes/100k-write-iops-in-aurora-t3medium--365j",
      "archive_path": "devto/articles/2104024.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2093624",
      "title": "Starting a YugabyteDB lab cluster with AWS CLI",
      "published_at": "2024-11-11T18:25:35Z",
      "canonical_url": "https://dev.to/yugabyte/starting-a-yugabytedb-lab-cluster-with-aws-cli-47bj",
      "archive_path": "devto/articles/2093624.json",
      "tags": [
        "yugabytedb",
        "aws",
        "ec2",
        "multiregion"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "alohe",
      "title": "SQL Alone Isn’t Enough: Why Modern Applications Need More Than Just SQL",
      "published_at": "2024-11-11",
      "canonical_url": "https://www.linkedin.com/pulse/sql-alone-isnt-enough-why-modern-applications-need-more-franck-pachot-alohe",
      "archive_path": "linkedin/articles/alohe.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "2081056",
      "title": "What's behind the Call Home option?",
      "published_at": "2024-11-07T14:57:31Z",
      "canonical_url": "https://dev.to/yugabyte/whats-behind-the-call-home-option-2cl3",
      "archive_path": "devto/articles/2081056.json",
      "tags": [
        "yugabyted",
        "distributed",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2070239",
      "title": "Speeding Up Foreign Key Constraints During Migrations",
      "published_at": "2024-11-03T16:40:32Z",
      "canonical_url": "https://dev.to/yugabyte/speeding-up-foreign-key-constraints-during-migrations-3a9o",
      "archive_path": "devto/articles/2070239.json",
      "tags": [
        "postgres",
        "database",
        "sql",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2057902",
      "title": "SQL-92 in TPC Benchmarks: Are They Still Relevant?",
      "published_at": "2024-10-25T20:38:46Z",
      "canonical_url": "https://dev.to/aws-heroes/sql-92-in-tpc-benchmarks-are-they-still-relevant-4ein",
      "archive_path": "devto/articles/2057902.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "benchmark"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2044918",
      "title": "Indexing for a Scalable Serialization Isolation Level",
      "published_at": "2024-10-19T21:28:17Z",
      "canonical_url": "https://dev.to/yugabyte/indexing-for-a-scalable-serialization-isolation-level-36e2",
      "archive_path": "devto/articles/2044918.json",
      "tags": [
        "sql",
        "yugabytedb",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1909257",
      "title": "The Doctor's On-Call Shift example and a Normalized Relational Schema to Avoid Write Skew",
      "published_at": "2024-10-18T22:57:18Z",
      "canonical_url": "https://dev.to/yugabyte/the-doctors-on-call-shift-example-in-a-normalized-relational-schema-to-avoid-write-skew-4hhf",
      "archive_path": "devto/articles/1909257.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "oracle",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2041843",
      "title": "You Probably Don't Need Serializable Isolation",
      "published_at": "2024-10-17T16:29:32Z",
      "canonical_url": "https://dev.to/aws-heroes/you-probably-dont-need-serializable-isolation-131g",
      "archive_path": "devto/articles/2041843.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "oracle",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2034447",
      "title": "A brief example of an SQL serializable transaction",
      "published_at": "2024-10-11T16:50:00Z",
      "canonical_url": "https://dev.to/aws-heroes/a-brief-example-of-a-serializable-transaction-with-ansiiso-sql-1a70",
      "archive_path": "devto/articles/2034447.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "oracle",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2029282",
      "title": "YugabyteDB as a Graph database with PuppyGraph",
      "published_at": "2024-10-07T21:34:00Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-as-a-graph-database-with-puppygraph-4p6l",
      "archive_path": "devto/articles/2029282.json",
      "tags": [
        "yugabytedb",
        "graph",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2028488",
      "title": "AWS re:Invent 2024 - Which sessions I'll try to attend.",
      "published_at": "2024-10-07T16:11:55Z",
      "canonical_url": "https://dev.to/aws-heroes/aws-reinvent-2024-which-sessions-ill-try-to-attend-4cgb",
      "archive_path": "devto/articles/2028488.json",
      "tags": [
        "aws",
        "sql",
        "database",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2026979",
      "title": "PostgreSQL Semi Join, Unique-ify RHS, Materialized CTEs, and Rows Estimation",
      "published_at": "2024-10-06T21:11:14Z",
      "canonical_url": "https://dev.to/yugabyte/postgresql-semi-join-unique-ify-rhs-materialized-ctes-and-rows-estimation-o2a",
      "archive_path": "devto/articles/2026979.json",
      "tags": [
        "postgres",
        "database",
        "sql",
        "optimizer"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2025685",
      "title": "Native GLIBC instead of Linuxbrew since 2.21",
      "published_at": "2024-10-04T15:56:40Z",
      "canonical_url": "https://dev.to/yugabyte/native-glibc-instead-of-linuxbrew-since-221-288h",
      "archive_path": "devto/articles/2025685.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "extensions",
        "glibc"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2024907",
      "title": "pgSphere and Q3C on Distributed SQL",
      "published_at": "2024-10-04T09:54:50Z",
      "canonical_url": "https://dev.to/yugabyte/pgsphere-and-q3c-on-distributed-sql-4mmg",
      "archive_path": "devto/articles/2024907.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2023039",
      "title": "IN() Index Scan in PostgreSQL 17 and YugabyteDB LSM Tree",
      "published_at": "2024-10-02T13:18:36Z",
      "canonical_url": "https://dev.to/yugabyte/in-index-scan-in-postgresql-17-and-yugabytedb-lsm-tree-jci",
      "archive_path": "devto/articles/2023039.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2022240",
      "title": "Frequent Re-Connections improved by Connection Manager",
      "published_at": "2024-10-01T22:09:16Z",
      "canonical_url": "https://dev.to/yugabyte/frequent-re-connections-improved-by-connection-manager-e52",
      "archive_path": "devto/articles/2022240.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2020742",
      "title": "Maintaining Throughput With Less Physical Connections",
      "published_at": "2024-09-30T18:31:11Z",
      "canonical_url": "https://dev.to/yugabyte/maintaining-throughput-with-less-physical-connections-3f32",
      "archive_path": "devto/articles/2020742.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2018822",
      "title": "YugabyteDB Connection Manager: a Database Resident Connection Pool with Shared Processes",
      "published_at": "2024-09-30T10:12:11Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-connection-manager-introduction-to-the-database-resident-connection-pool-2ap",
      "archive_path": "devto/articles/2018822.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "2007838",
      "title": "ERROR: index row size 3056 exceeds btree version 4 maximum 2704 for index",
      "published_at": "2024-09-20T13:42:13Z",
      "canonical_url": "https://dev.to/yugabyte/error-index-row-size-3056-exceeds-btree-version-4-maximum-2704-for-index-4e8d",
      "archive_path": "devto/articles/2007838.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1999563",
      "title": "Write Buffering to Reduce Raft Consensus Latency in YugabyteDB",
      "published_at": "2024-09-14T21:36:52Z",
      "canonical_url": "https://dev.to/yugabyte/write-buffering-to-reduce-raft-consensus-latency-in-yugabytedb-2dg6",
      "archive_path": "devto/articles/1999563.json",
      "tags": [
        "yugabytedb",
        "synchronous",
        "raft",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984360",
      "title": "Asynch replication for Disaster Recovery, Read Replicas, and Change Data Capture",
      "published_at": "2024-09-10T21:02:06Z",
      "canonical_url": "https://dev.to/yugabyte/asynch-replication-for-disaster-recovery-read-replicas-and-change-data-capture-50cb",
      "archive_path": "devto/articles/1984360.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "database",
        "recovery"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984359",
      "title": "Fast PITR and MVCC reads with Key-Value LSM Tree",
      "published_at": "2024-09-09T18:06:44Z",
      "canonical_url": "https://dev.to/yugabyte/fast-pitr-and-mvcc-reads-with-key-value-lsm-tree-585c",
      "archive_path": "devto/articles/1984359.json",
      "tags": [
        "yugabytedb",
        "mvcc",
        "database",
        "pitr"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984353",
      "title": "RocksDB, Key-Value Storage, and Packed Rows: the backbone of YugabyteDB's distributed tablets flexibility",
      "published_at": "2024-09-08T21:14:14Z",
      "canonical_url": "https://dev.to/yugabyte/rocksdb-key-value-storage-and-packed-rows-the-backbone-of-yugabytedbs-distributed-tablets-501j",
      "archive_path": "devto/articles/1984353.json",
      "tags": [
        "yugabytedb",
        "rocksdb",
        "lsm",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984349",
      "title": "SQL as fast as NoSQL, Bulk Loads, Covering and Partial Indexes",
      "published_at": "2024-09-06T15:13:46Z",
      "canonical_url": "https://dev.to/yugabyte/tuning-distributed-db-sql-as-fast-as-nosql-bulk-loads-covering-and-partial-indexes-12p8",
      "archive_path": "devto/articles/1984349.json",
      "tags": [
        "yugabytedb",
        "sql",
        "nosql",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984348",
      "title": "Batching and Push-Downs to Distribute with High-Performance reads and writes",
      "published_at": "2024-09-05T13:27:47Z",
      "canonical_url": "https://dev.to/yugabyte/batching-and-push-downs-to-distribute-with-high-performance-reads-and-writes-4ip4",
      "archive_path": "devto/articles/1984348.json",
      "tags": [
        "yugabytedb",
        "raft",
        "sync",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984347",
      "title": "Fault Tolerance with Raft and no Single Point of Failure",
      "published_at": "2024-09-05T07:45:14Z",
      "canonical_url": "https://dev.to/yugabyte/fault-tolerance-with-raft-and-no-single-point-of-failure-4k01",
      "archive_path": "devto/articles/1984347.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984345",
      "title": "Linearly Scalable Architecture with Separation of Concern",
      "published_at": "2024-09-02T20:23:53Z",
      "canonical_url": "https://dev.to/yugabyte/linearly-scalable-architecture-with-separation-of-concern-44ng",
      "archive_path": "devto/articles/1984345.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984344",
      "title": "Most Complete Auto-Sharding and Partitioning Strategies",
      "published_at": "2024-09-02T20:19:34Z",
      "canonical_url": "https://dev.to/yugabyte/most-complete-auto-sharding-and-partitioning-strategies-3f5b",
      "archive_path": "devto/articles/1984344.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984341",
      "title": "Pessimistic locking, Read Committed, and all Isolation Levels",
      "published_at": "2024-09-02T19:57:40Z",
      "canonical_url": "https://dev.to/yugabyte/pessimistic-locking-read-committed-and-all-isolation-levels-3n31",
      "archive_path": "devto/articles/1984341.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984340",
      "title": "Unique PostgreSQL-compatible Distributed SQL database",
      "published_at": "2024-09-02T19:57:07Z",
      "canonical_url": "https://dev.to/yugabyte/unique-postgresql-compatible-distributed-sql-database-2jc1",
      "archive_path": "devto/articles/1984340.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1984339",
      "title": "🧵10 Facts About YugabyteDB: Misconceptions Debunked",
      "published_at": "2024-09-02T19:56:35Z",
      "canonical_url": "https://dev.to/yugabyte/10-facts-about-yugabytedb-misconceptions-debunked-4ee4",
      "archive_path": "devto/articles/1984339.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1975447",
      "title": "Physically isolating tenants with tablespaces and smart drivers in YugabyteDB",
      "published_at": "2024-08-27T08:03:10Z",
      "canonical_url": "https://dev.to/yugabyte/physically-isolating-tenants-with-tablespaces-and-smart-drivers-in-yugabytedb-22e9",
      "archive_path": "devto/articles/1975447.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1968361",
      "title": "Implementing “Get or Create” in YugabyteDB (or PostgreSQL)",
      "published_at": "2024-08-21T21:26:39Z",
      "canonical_url": "https://dev.to/yugabyte/implementing-get-or-create-in-yugabytedb-or-postgresql-1p3e",
      "archive_path": "devto/articles/1968361.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1958146",
      "title": "Multi-Statement SQL for reducing write latency in YugabyteDB (and PostgreSQL alternative to INSERT ALL)",
      "published_at": "2024-08-15T14:20:43Z",
      "canonical_url": "https://dev.to/yugabyte/multi-statement-sql-for-reducing-write-latency-in-yugabytedb-and-postgresql-alternative-to-insert-all-4op3",
      "archive_path": "devto/articles/1958146.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1950626",
      "title": "Different Roles for Read Replicas in PostgreSQL and YugabyteDB",
      "published_at": "2024-08-08T15:47:59Z",
      "canonical_url": "https://dev.to/yugabyte/psdifferent-roles-for-read-replicas-in-postgresql-and-yugabytedb-204c",
      "archive_path": "devto/articles/1950626.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1948948",
      "title": "Clustering Factor for YugabyteDB Index Scan: correlation between secondary indexes and the primary key",
      "published_at": "2024-08-06T16:54:34Z",
      "canonical_url": "https://dev.to/yugabyte/clustering-factor-for-yugabytedb-index-scan-correlation-between-secondary-indexes-and-the-primary-key-1fia",
      "archive_path": "devto/articles/1948948.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1946824",
      "title": "Performance of range queries in B-Tree and LSM indexes",
      "published_at": "2024-08-05T06:33:22Z",
      "canonical_url": "https://dev.to/yugabyte/performance-of-range-queries-in-b-tree-and-lsm-indexes-3pbj",
      "archive_path": "devto/articles/1946824.json",
      "tags": [
        "postgres",
        "database",
        "yugabytedb",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1941672",
      "title": "Observing CPU/RAM/IO pressure in YugabyteDB with Linux PSI on AlmaLinux8 (Pressure Stall Information)",
      "published_at": "2024-07-31T18:10:14Z",
      "canonical_url": "https://dev.to/yugabyte/observing-cpuramio-pressure-in-yugabytedb-with-linux-psi-on-almalinux8-pressure-stall-information-ik8",
      "archive_path": "devto/articles/1941672.json",
      "tags": [
        "yugabytedb",
        "linux",
        "performance"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1941295",
      "title": "Exceptions and Commit in PostgreSQL PL/pgSQL vs. Oracle PL/SQL",
      "published_at": "2024-07-30T16:37:13Z",
      "canonical_url": "https://dev.to/aws-heroes/exceptions-and-commit-in-postgresql-plpgsql-vs-oracle-plsql-1nk8",
      "archive_path": "devto/articles/1941295.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "ljfee",
      "title": "Separation of compute and storage for YugabyteDB",
      "published_at": "2024-07-29",
      "canonical_url": "https://www.linkedin.com/pulse/separation-compute-storage-databases-example-franck-pachot-ljfee",
      "archive_path": "linkedin/articles/ljfee.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1926039",
      "title": "Distributing PostgreSQL on Amazon Elastic Kubernetes",
      "published_at": "2024-07-21T17:33:16Z",
      "canonical_url": "https://dev.to/aws-heroes/distributing-postgresql-on-amazon-elastic-kubernetes-2f5g",
      "archive_path": "devto/articles/1926039.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "eks",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1929636",
      "title": "Find hotspots with Yugabyte Active Session History",
      "published_at": "2024-07-20T02:54:08Z",
      "canonical_url": "https://dev.to/yugabyte/find-hotspots-with-yugabyte-active-session-history-45db",
      "archive_path": "devto/articles/1929636.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1911547",
      "title": "Optimizing Fuzzy Search Across Multiple Tables: pg_trgm, GIN, and Triggers",
      "published_at": "2024-07-04T14:03:26Z",
      "canonical_url": "https://dev.to/yugabyte/optimizing-fuzzy-search-across-multiple-tables-pgtrgm-gin-and-triggers-4d1p",
      "archive_path": "devto/articles/1911547.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1909835",
      "title": "Stored Procedures & Exception Handling when migrating from Oracle to PostgreSQL or YugabyteDB",
      "published_at": "2024-07-03T16:42:50Z",
      "canonical_url": "https://dev.to/aws-heroes/stored-procedures-exception-handling-when-migrating-from-oracle-to-postgresql-or-yugabytedb-3i2e",
      "archive_path": "devto/articles/1909835.json",
      "tags": [
        "oracle",
        "postgres",
        "yugabytedb",
        "migration"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "32486",
      "title": "YugabyteDB Resiliency vs. PostgreSQL High Availability Solutions",
      "published_at": "2024-06-27T11:30:00",
      "canonical_url": "https://www.yugabyte.com/blog/yugabytedb-resiliency-vs-postgresql-ha-solutions/",
      "archive_path": "yugabyte/articles/32486.json",
      "tags": [
        "Cloud Native",
        "Databases",
        "Downtime",
        "High Availability",
        "PostgreSQL",
        "Resiliency",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1892695",
      "title": "Active Session History (ASH) in YugabyteDB",
      "published_at": "2024-06-18T18:47:49Z",
      "canonical_url": "https://dev.to/yugabyte/active-session-history-ash-in-yugabytedb-39ic",
      "archive_path": "devto/articles/1892695.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1891225",
      "title": "Improving Your SQL Indexing: How to Effectively Order Columns",
      "published_at": "2024-06-17T13:12:04Z",
      "canonical_url": "https://dev.to/yugabyte/improving-your-sql-indexing-how-to-effectively-order-columns-24dj",
      "archive_path": "devto/articles/1891225.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "32452",
      "title": "Improving Your SQL Indexing: How to Effectively Order Columns",
      "published_at": "2024-06-17T11:30:00",
      "canonical_url": "https://www.yugabyte.com/blog/improving-sql-indexing-how-to-order-columns/",
      "archive_path": "yugabyte/articles/32452.json",
      "tags": [
        "Columns",
        "How To",
        "Indexing",
        "SQL",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1889875",
      "title": "Observing Clock Skew ERROR: 40001 - Restart read required",
      "published_at": "2024-06-17T09:08:58Z",
      "canonical_url": "https://dev.to/yugabyte/observing-clock-skew-error-40001-restart-read-required-580j",
      "archive_path": "devto/articles/1889875.json",
      "tags": []
    },
    {
      "source": "linkedin",
      "source_id": "voyhe",
      "title": "Testing DBtune, showing PostgreSQL double buffering, and some thoughts about automated database tuning for SQL databases",
      "published_at": "2024-06-17",
      "canonical_url": "https://www.linkedin.com/pulse/testing-dbtune-showing-postgresql-double-buffering-some-franck-pachot-voyhe",
      "archive_path": "linkedin/articles/voyhe.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1886190",
      "title": "Multi-Region Async Table Broadcast with YugabyteDB xCluster 1-to-N replication",
      "published_at": "2024-06-14T19:19:01Z",
      "canonical_url": "https://dev.to/yugabyte/multi-region-async-table-broadcast-with-yugabytedb-xcluster-1-to-n-replication-3d6f",
      "archive_path": "devto/articles/1886190.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "dpmaf",
      "title": "Handling large data volumes with PostgreSQL and YugabyteDB",
      "published_at": "2024-06-13",
      "canonical_url": "https://www.linkedin.com/pulse/handling-large-data-volumes-postgresql-yugabytedb-franck-pachot-dpmaf",
      "archive_path": "linkedin/articles/dpmaf.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1878978",
      "title": "Comparing DB engines by CPU instructions for simple DML",
      "published_at": "2024-06-07T13:33:51Z",
      "canonical_url": "https://dev.to/yugabyte/comparing-sql-engines-by-cpu-instructions-for-dml-48a",
      "archive_path": "devto/articles/1878978.json",
      "tags": [
        "linux",
        "cpu",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1872956",
      "title": "Deletes and MVCC in YugabyteDB",
      "published_at": "2024-06-03T17:40:27Z",
      "canonical_url": "https://dev.to/yugabyte/deletes-and-mvcc-in-yugabytedb-12ip",
      "archive_path": "devto/articles/1872956.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1875686",
      "title": "Partitions, Merge Append, Pagination, and Limit pushdown in YugabyteDB",
      "published_at": "2024-06-03T17:00:54Z",
      "canonical_url": "https://dev.to/yugabyte/partitions-merge-append-pagination-and-limit-pushdown-in-yugabytedb-49ml",
      "archive_path": "devto/articles/1875686.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1865906",
      "title": "The Log Is (not) The Database",
      "published_at": "2024-05-28T17:12:16Z",
      "canonical_url": "https://dev.to/yugabyte/the-log-is-the-database-in2",
      "archive_path": "devto/articles/1865906.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1839399",
      "title": "Distributed PostgreSQL with YugabyteDB Multi-Region Kubernetes / Istio / Amazon EKS",
      "published_at": "2024-05-28T14:14:31Z",
      "canonical_url": "https://dev.to/aws-heroes/distributed-postgresql-with-yugabytedb-multi-region-kubernetes-istio-amazon-eks-366a",
      "archive_path": "devto/articles/1839399.json",
      "tags": [
        "yugabytedb",
        "aws",
        "kubernetes",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1863206",
      "title": "YB-Master, the YugabyteDB Universe control plane",
      "published_at": "2024-05-24T18:15:00Z",
      "canonical_url": "https://dev.to/yugabyte/yb-master-the-yugabytedb-universe-control-plane-3398",
      "archive_path": "devto/articles/1863206.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1859653",
      "title": "Multi-AZ PostgreSQL COMMIT wait events: WALSync, SyncRep & XactSync",
      "published_at": "2024-05-21T05:43:02Z",
      "canonical_url": "https://dev.to/aws-heroes/multi-az-postgresql-commit-wait-events-walsync-syncrep-xactsync-2hp2",
      "archive_path": "devto/articles/1859653.json",
      "tags": [
        "aws",
        "rds",
        "postgres",
        "replication"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1854248",
      "title": "Server-side cache for YugabyteDB sequences to workaround the Nspgl `DISCARD SEQUENCES`",
      "published_at": "2024-05-16T07:29:47Z",
      "canonical_url": "https://dev.to/yugabyte/server-side-cache-for-yugabytedb-sequences-to-workaround-the-nspgl-discard-sequences-58jp",
      "archive_path": "devto/articles/1854248.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1849849",
      "title": "Crash on clock skew: performance vs availability",
      "published_at": "2024-05-11T23:00:28Z",
      "canonical_url": "https://dev.to/yugabyte/crash-on-clock-skew-performance-vs-availability-5gp9",
      "archive_path": "devto/articles/1849849.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1847344",
      "title": "Advisory/Custom/Application Lock with YugabyteDB",
      "published_at": "2024-05-09T11:04:38Z",
      "canonical_url": "https://dev.to/yugabyte/advisorycustomapplication-lock-with-yugabytedb-jao",
      "archive_path": "devto/articles/1847344.json",
      "tags": [
        "yugqbytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1841842",
      "title": "A lightweight YugabyteDB docker image for CI/CD",
      "published_at": "2024-05-07T09:55:07Z",
      "canonical_url": "https://dev.to/yugabyte/a-lightweight-yugabytedb-docker-image-for-cicd-3na8",
      "archive_path": "devto/articles/1841842.json",
      "tags": [
        "yugabyteb",
        "docker",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1836259",
      "title": "A smaller YugabyteDB image for CI/CD (example with Sakila)",
      "published_at": "2024-04-27T20:17:04Z",
      "canonical_url": "https://dev.to/yugabyte/a-smaller-yugabytedb-image-for-cicd-1ig3",
      "archive_path": "devto/articles/1836259.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "cicd",
        "database"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "bpybe",
      "title": "External Consistency in  Distributed SQL",
      "published_at": "2024-04-27",
      "canonical_url": "https://www.linkedin.com/pulse/external-consistency-distributed-sql-franck-pachot-bpybe",
      "archive_path": "linkedin/articles/bpybe.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1834323",
      "title": "Custom SQL Scripts in PostgreSQL PgBench",
      "published_at": "2024-04-25T15:40:23Z",
      "canonical_url": "https://www.yugabyte.com/blog/pgbench-custom-sql-scripts/",
      "archive_path": "devto/articles/1834323.json",
      "tags": [
        "postgres",
        "pgbench",
        "sql",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "32193",
      "title": "How to Enhance Database Performance Testing Using Custom SQL Scripts in PgBench",
      "published_at": "2024-04-25T14:16:46",
      "canonical_url": "https://www.yugabyte.com/blog/pgbench-custom-sql-scripts/",
      "archive_path": "yugabyte/articles/32193.json",
      "tags": [
        "Database Performance",
        "PostgreSQL",
        "PostgreSQL Compatibility",
        "PostgreSQL Tips and Tricks",
        "pgbench"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1831930",
      "title": "Snapshot too old in YugabyteDB",
      "published_at": "2024-04-24T13:58:13Z",
      "canonical_url": "https://dev.to/yugabyte/snapshot-too-old-in-yugabytedb-23g5",
      "archive_path": "devto/articles/1831930.json",
      "tags": [
        "yugabytedb",
        "snapshot",
        "mvcc",
        "flashback"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1829867",
      "title": "Simulate Clock Skew in Docker Container",
      "published_at": "2024-04-21T22:00:51Z",
      "canonical_url": "https://dev.to/yugabyte/simulate-clock-skew-in-docker-container-2com",
      "archive_path": "devto/articles/1829867.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1825309",
      "title": "MongoDB Associate Data Modeler Exam",
      "published_at": "2024-04-17T12:26:15Z",
      "canonical_url": "https://dev.to/aws-heroes/mongodb-associate-data-modeler-exam-46df",
      "archive_path": "devto/articles/1825309.json",
      "tags": [
        "mongodb",
        "data",
        "modeling",
        "certification"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "32125",
      "title": "Advanced PostgreSQL Partitioning by Date with YugabyteDB Auto Sharding",
      "published_at": "2024-04-16T11:47:00",
      "canonical_url": "https://www.yugabyte.com/blog/postgresql-advanced-partitioning-by-date/",
      "archive_path": "yugabyte/articles/32125.json",
      "tags": [
        "Data Sharding",
        "Distributed PostgreSQL",
        "Partitioning",
        "PostgreSQL",
        "PostgreSQL Compatibility",
        "Secondary Indexes"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1812979",
      "title": "\"ERROR: Perform RPC timed out after 602.000s\" in YSQL",
      "published_at": "2024-04-06T07:13:46Z",
      "canonical_url": "https://dev.to/yugabyte/error-perform-rpc-timed-out-after-600000s-in-ysql-1010",
      "archive_path": "devto/articles/1812979.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1809261",
      "title": "PostgreSQL with modern storage: what about a lower random_page_cost?",
      "published_at": "2024-04-03T09:36:24Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-with-modern-storage-what-about-a-lower-randompagecost-5b7f",
      "archive_path": "devto/articles/1809261.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "tuning"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "31794",
      "title": "Solving PostgreSQL Indexes, Partitioning, and LockManager Limitations",
      "published_at": "2024-03-26T11:26:00",
      "canonical_url": "https://www.yugabyte.com/blog/postgresql-indexes-partitioning-lockmanager-limitations/",
      "archive_path": "yugabyte/articles/31794.json",
      "tags": [
        "Distributed PostgreSQL",
        "LockManager",
        "Partitioning",
        "PostgreSQL",
        "PostgreSQL Compatibility",
        "Scale Out PostgreSQL",
        "Scaling",
        "Secondary Indexes"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1800832",
      "title": "PostgreSQL index Correlation with UPDATE",
      "published_at": "2024-03-25T17:01:39Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-index-correlation-with-update-2a2k",
      "archive_path": "devto/articles/1800832.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1793135",
      "title": "B-Tree vs. LSM-Tree: measuring the write amplification on Oracle Database and YugabyteDB",
      "published_at": "2024-03-21T08:36:32Z",
      "canonical_url": "https://dev.to/yugabyte/b-tree-vs-lsm-tree-measuring-the-write-amplification-on-oracle-database-and-yugabytedb-4m7k",
      "archive_path": "devto/articles/1793135.json",
      "tags": [
        "yugabytedb",
        "rocksdb",
        "sql",
        "distributed"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "ngghe",
      "title": "Distributed SQL architecture and what Oracle didn't grasp about it",
      "published_at": "2024-03-21",
      "canonical_url": "https://www.linkedin.com/pulse/distributed-sql-architecture-what-oracle-didnt-grasp-franck-pachot-ngghe",
      "archive_path": "linkedin/articles/ngghe.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1795681",
      "title": "YugabyteDB Transactional Load with Non-transactional COPY",
      "published_at": "2024-03-19T22:41:51Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-transactional-load-with-non-transactional-copy-10ac",
      "archive_path": "devto/articles/1795681.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1795349",
      "title": "What's the equivalent of pageinspect in YugabyteDB?",
      "published_at": "2024-03-19T20:15:17Z",
      "canonical_url": "https://dev.to/yugabyte/whats-the-equivalent-of-pageinspect-in-yugabytedb-21nh",
      "archive_path": "devto/articles/1795349.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1778402",
      "title": "Postgres dead tuple space reused without vacuum",
      "published_at": "2024-03-03T21:51:43Z",
      "canonical_url": "https://dev.to/aws-heroes/dead-tuple-space-reused-without-vacuum-10fd",
      "archive_path": "devto/articles/1778402.json",
      "tags": [
        "postgres",
        "vacuum",
        "bloat",
        "space"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1758428",
      "title": "Out of Range statistics with PostgreSQL & YugabyteDB",
      "published_at": "2024-02-11T23:19:07Z",
      "canonical_url": "https://dev.to/yugabyte/out-of-range-statistics-with-postgresql-yugabytedb-2pj8",
      "archive_path": "devto/articles/1758428.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1748945",
      "title": "Best Practice: use the same datatypes for comparisons, like joins and foreign keys",
      "published_at": "2024-02-01T22:05:12Z",
      "canonical_url": "https://dev.to/yugabyte/best-practice-use-the-same-datatypes-for-comparisons-like-joins-and-foreign-keys-3g9i",
      "archive_path": "devto/articles/1748945.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1746184",
      "title": "YugabyteDB bulk inserts with function: faster with SQL compared to PL/pgSQL",
      "published_at": "2024-01-30T18:57:10Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-bulk-inserts-with-function-faster-with-sql-compared-to-plpgsql-19pf",
      "archive_path": "devto/articles/1746184.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1744051",
      "title": "Data Residency Compliance: PostgreSQL RLS to access YugabyteDB local region",
      "published_at": "2024-01-29T07:27:31Z",
      "canonical_url": "https://dev.to/yugabyte/data-residency-compliance-postgresql-rls-to-access-yugabytedb-local-region-3fcp",
      "archive_path": "devto/articles/1744051.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1743161",
      "title": "UUID in PostgreSQL",
      "published_at": "2024-01-27T21:19:25Z",
      "canonical_url": "https://dev.to/aws-heroes/uuid-in-postgresql-3n53",
      "archive_path": "devto/articles/1743161.json",
      "tags": [
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1732840",
      "title": "YugabyteDB avoids bloat with the outbox pattern",
      "published_at": "2024-01-18T07:14:52Z",
      "canonical_url": "https://dev.to/yugabyte/how-yugabytedb-avoids-bloat-in-outbox-pattern-42lb",
      "archive_path": "devto/articles/1732840.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1676787",
      "title": "Covering Index nuances: which columns to cover (WHERE, ORDER BY, LIMIT, SELECT)?",
      "published_at": "2024-01-15T11:15:04Z",
      "canonical_url": "https://www.linkedin.com/article/edit/7152619385403113472/",
      "archive_path": "devto/articles/1676787.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1723553",
      "title": "Repeatable Read with Wait-On-Conflict, and Restarts",
      "published_at": "2024-01-11T09:56:36Z",
      "canonical_url": "https://dev.to/yugabyte/repeatable-read-with-wait-on-conflict-and-restarts-3fmp",
      "archive_path": "devto/articles/1723553.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1722598",
      "title": "Batched Nested Loop and Unbatchable Conditions",
      "published_at": "2024-01-09T22:18:44Z",
      "canonical_url": "https://dev.to/yugabyte/batched-nested-loop-and-unbatchable-conditions-10n5",
      "archive_path": "devto/articles/1722598.json",
      "tags": [
        "database",
        "postgres"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "4fr7e",
      "title": "\"Distributed Things\" PostgreSQL",
      "published_at": "2024-01-09",
      "canonical_url": "https://www.linkedin.com/pulse/distributed-things-postgresql-franck-pachot-4fr7e",
      "archive_path": "linkedin/articles/4fr7e.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1721367",
      "title": "UPSERT all columns in YugabyteDB (ON CONFLICT DO UPDATE)",
      "published_at": "2024-01-08T20:32:43Z",
      "canonical_url": "https://dev.to/yugabyte/upsert-all-columns-in-yugabytedb-on-conflict-do-update-4dpd",
      "archive_path": "devto/articles/1721367.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1716801",
      "title": "Isolation Levels - part XIII: Explicit Locking with SELECT (FOR UPDATE) intention",
      "published_at": "2024-01-05T10:53:17Z",
      "canonical_url": "https://dev.to/yugabyte/isolation-levels-part-xiii-explicit-locking-with-select-for-update-intention-4na3",
      "archive_path": "devto/articles/1716801.json",
      "tags": [
        "sql",
        "database",
        "yugabytedb",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1708062",
      "title": "pg_hint_plan for Batched Nested Loop Join in YugabyteDB",
      "published_at": "2024-01-01T15:50:35Z",
      "canonical_url": "https://dev.to/yugabyte/pghintplan-for-batched-nested-loop-join-in-yugabytedb-4pfo",
      "archive_path": "devto/articles/1708062.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1705699",
      "title": "Could Batched Nested Loop improve PostgreSQL like it does for YugabyteDB?",
      "published_at": "2023-12-23T21:48:23Z",
      "canonical_url": "https://dev.to/yugabyte/could-batched-nested-loop-improve-postgresql-like-it-does-for-yugabytedb-4bjb",
      "archive_path": "devto/articles/1705699.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1703388",
      "title": "`OR` Filter on Two Tables, and Batched Nested Loops",
      "published_at": "2023-12-20T10:55:18Z",
      "canonical_url": "https://dev.to/yugabyte/or-filter-on-two-tables-and-batched-nested-loops-aa",
      "archive_path": "devto/articles/1703388.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1702816",
      "title": "Single-statement deadlock in Oracle and ORA-00060",
      "published_at": "2023-12-19T18:05:30Z",
      "canonical_url": "https://dev.to/franckpachot/single-statements-deadlocks-in-oracle-and-ora-00060-376m",
      "archive_path": "devto/articles/1702816.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1675489",
      "title": "Isolation Levels - part XII: To go further",
      "published_at": "2023-12-18T18:32:13Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-xii-to-go-further-n89",
      "archive_path": "devto/articles/1675489.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1700034",
      "title": "Distributed PostgreSQL without sharding constraint for SQL joins",
      "published_at": "2023-12-17T12:05:33Z",
      "canonical_url": "https://www.linkedin.com/pulse/distributed-postgresql-without-sharding-constraint-sql-franck-pachot-gjzne",
      "archive_path": "devto/articles/1700034.json",
      "tags": [
        "postgres",
        "citus",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "gjzne",
      "title": "Distributed PostgreSQL without Sharding constraint for SQL joins",
      "published_at": "2023-12-17",
      "canonical_url": "https://www.linkedin.com/pulse/distributed-postgresql-without-sharding-constraint-sql-franck-pachot-gjzne",
      "archive_path": "linkedin/articles/gjzne.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1675488",
      "title": "Isolation Levels - part XI: Read Uncommitted",
      "published_at": "2023-12-13T21:56:29Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-xi-read-uncommitted-36fi",
      "archive_path": "devto/articles/1675488.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675487",
      "title": "Isolation Levels - part X: Non-Transactional Writes",
      "published_at": "2023-12-13T21:45:19Z",
      "canonical_url": "https://dev.to/yugabyte/isolation-levels-part-x-non-transactional-writes-1497",
      "archive_path": "devto/articles/1675487.json",
      "tags": [
        "sql",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1696053",
      "title": "ON CONFLICT DO NOTHING in YugabyteDB",
      "published_at": "2023-12-12T20:54:45Z",
      "canonical_url": "https://dev.to/yugabyte/on-conflict-do-nothing-in-yugabytedb-991",
      "archive_path": "devto/articles/1696053.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1694098",
      "title": "Even a Better Index 🍃 for The Most Annoying Postgres Optimizer Fail",
      "published_at": "2023-12-11T22:22:50Z",
      "canonical_url": "https://dev.to/yugabyte/even-a-better-index-for-the-most-annoying-postgres-optimizer-fail-2ccg",
      "archive_path": "devto/articles/1694098.json",
      "tags": [
        "postgres",
        "yugabyte",
        "sql",
        "mongodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675486",
      "title": "Isolation Levels - part IX: Read Committed",
      "published_at": "2023-12-10T17:40:00Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-ix-read-committed-3lll",
      "archive_path": "devto/articles/1675486.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1693129",
      "title": "Extended Statistics and pg_hint_plan /*+ Rows() */",
      "published_at": "2023-12-09T23:03:44Z",
      "canonical_url": "https://dev.to/yugabyte/extended-statistics-and-pghintplan-rows--j4k",
      "archive_path": "devto/articles/1693129.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1691317",
      "title": "Pagination with an OFFSET is better without OFFSET",
      "published_at": "2023-12-09T17:50:07Z",
      "canonical_url": "https://dev.to/franckpachot/pagination-with-an-offset-is-better-without-offset-5fah",
      "archive_path": "devto/articles/1691317.json",
      "tags": [
        "sql",
        "pagination",
        "offset",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1691860",
      "title": "The Most Annoying Optimizer Fail in Postgres ✅ Best index solved it.",
      "published_at": "2023-12-08T22:21:51Z",
      "canonical_url": "https://dev.to/aws-heroes/the-most-annoying-optimizer-fail-in-postgres-solved-469b",
      "archive_path": "devto/articles/1691860.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675485",
      "title": "Isolation Levels - part VIII: Cursor Stability",
      "published_at": "2023-12-08T05:06:00Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-viii-cursor-stability-40lm",
      "archive_path": "devto/articles/1675485.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1690005",
      "title": "Quick 📸 on 🐘 wait events from pg_stat_activity",
      "published_at": "2023-12-07T20:23:46Z",
      "canonical_url": "https://dev.to/aws-heroes/quick-on-wait-events-from-pgstatactivity-4dkm",
      "archive_path": "devto/articles/1690005.json",
      "tags": [
        "postgres",
        "performance",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1689768",
      "title": "Batched Nested Loop for Join With Large Pagination",
      "published_at": "2023-12-06T14:17:28Z",
      "canonical_url": "https://dev.to/yugabyte/batched-nested-loop-for-join-with-pagination-621",
      "archive_path": "devto/articles/1689768.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1689438",
      "title": "Docker container with fixed IP address",
      "published_at": "2023-12-06T08:17:29Z",
      "canonical_url": "https://dev.to/yugabyte/docker-container-with-fixed-ip-address-58cp",
      "archive_path": "devto/articles/1689438.json",
      "tags": [
        "yugabytedb",
        "docker",
        "network",
        "ip"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1688704",
      "title": "How to Optimize Indexing for Distributed One-to-Many Join With Pagination",
      "published_at": "2023-12-05T18:21:14Z",
      "canonical_url": "https://dev.to/yugabyte/how-to-optimize-indexing-for-distributed-one-to-many-join-with-pagination-4kcg",
      "archive_path": "devto/articles/1688704.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675484",
      "title": "Isolation Levels - part VII: Repeatable Read",
      "published_at": "2023-12-05T08:17:09Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-vii-repeatable-read-l11",
      "archive_path": "devto/articles/1675484.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675483",
      "title": "Isolation Levels - part VI: Snapshot Isolation",
      "published_at": "2023-12-05T08:12:00Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-vi-snapshot-isolation-15k",
      "archive_path": "devto/articles/1675483.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675482",
      "title": "Isolation Levels - part V: Read Only",
      "published_at": "2023-12-04T07:14:09Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-v-read-only-323h",
      "archive_path": "devto/articles/1675482.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1680145",
      "title": "Amazon Aurora PostgreSQL shared buffers and cache",
      "published_at": "2023-12-03T19:13:26Z",
      "canonical_url": "https://dev.to/aws-heroes/amazon-aurora-and-postgresql-buffer-cache-n67",
      "archive_path": "devto/articles/1680145.json",
      "tags": [
        "postgres",
        "aurora",
        "aws",
        "rds"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675479",
      "title": "Isolation Levels - part IV: Serializable",
      "published_at": "2023-12-03T10:27:00Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-iv-serializable-flp",
      "archive_path": "devto/articles/1675479.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1683411",
      "title": "PostgreSQL at AWS re:Invent",
      "published_at": "2023-12-01T05:03:00Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-at-aws-reinvent-378i",
      "archive_path": "devto/articles/1683411.json",
      "tags": [
        "postgres",
        "conferences"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675476",
      "title": "Isolation Levels - part III: Main concepts",
      "published_at": "2023-11-29T17:41:00Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-iii-main-concepts-55lg",
      "archive_path": "devto/articles/1675476.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1682089",
      "title": "Atomic clocks in EC2",
      "published_at": "2023-11-29T04:00:11Z",
      "canonical_url": "https://dev.to/aws-heroes/atomic-clocks-in-ec2-74h",
      "archive_path": "devto/articles/1682089.json",
      "tags": [
        "aws",
        "ec2",
        "atomic",
        "clock"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675466",
      "title": "Isolation Levels - part II: Characteristics and use-case",
      "published_at": "2023-11-28T17:35:00Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-ii-characteristics-and-use-case-21e0",
      "archive_path": "devto/articles/1675466.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1680633",
      "title": "What about temporary tables in OCI PostgreSQL?",
      "published_at": "2023-11-28T17:09:09Z",
      "canonical_url": "https://dev.to/franckpachot/what-about-temporary-tables-in-oci-postgresql-2ghp",
      "archive_path": "devto/articles/1680633.json",
      "tags": [
        "oracle",
        "postgres",
        "oci",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1675465",
      "title": "Isolation Levels - part I: Introduction",
      "published_at": "2023-11-27T17:35:00Z",
      "canonical_url": "https://dev.to/franckpachot/isolation-levels-part-i-introduction-bd5",
      "archive_path": "devto/articles/1675465.json",
      "tags": [
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1678023",
      "title": "PostgreSQL double buffering: understand the cache size in a managed service (OCI)",
      "published_at": "2023-11-27T11:55:35Z",
      "canonical_url": "https://dev.to/franckpachot/postgresql-double-buffering-understand-the-cache-size-in-a-managed-service-oci-2oci",
      "archive_path": "devto/articles/1678023.json",
      "tags": [
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1676067",
      "title": "YBIO on OCI PostgreSQL",
      "published_at": "2023-11-24T19:56:54Z",
      "canonical_url": "https://dev.to/franckpachot/ybio-on-oci-postgresql-cgc",
      "archive_path": "devto/articles/1676067.json",
      "tags": [
        "postgres",
        "oracle",
        "oci"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1677545",
      "title": "MFA on OCI (you don't need to read this if you don't understand the title)",
      "published_at": "2023-11-24T16:50:32Z",
      "canonical_url": "https://dev.to/franckpachot/mfa-on-oci-you-dont-need-to-read-this-if-you-dont-understand-the-title-1hhk",
      "archive_path": "devto/articles/1677545.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1672863",
      "title": "Oracle Cloud Infrastructure Optimized PostgreSQL 14.9",
      "published_at": "2023-11-23T07:43:48Z",
      "canonical_url": "https://dev.to/franckpachot/oracle-cloud-infrastructure-optimized-postgresql-149-2724",
      "archive_path": "devto/articles/1672863.json",
      "tags": [
        "oci",
        "oracle",
        "postgres",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1669917",
      "title": "Row Level Security with an ARRAY of tenants set in session parameter (RLS)",
      "published_at": "2023-11-18T07:50:09Z",
      "canonical_url": "https://dev.to/yugabyte/postgresql-row-level-security-with-an-array-of-tenants-2136",
      "archive_path": "devto/articles/1669917.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1665302",
      "title": "IN() list filter with Top-N",
      "published_at": "2023-11-13T21:28:19Z",
      "canonical_url": "https://dev.to/yugabyte/in-list-filter-with-top-n-3m9l",
      "archive_path": "devto/articles/1665302.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1664448",
      "title": "Foreign Keys on Distributed SQL: don't worry, it scales",
      "published_at": "2023-11-12T22:08:37Z",
      "canonical_url": "https://dev.to/yugabyte/foreign-keys-on-distributed-sql-dont-worry-it-scales-2g0g",
      "archive_path": "devto/articles/1664448.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1664170",
      "title": "Triggers in SQL database to extend its declarative data logic (but not business logic)",
      "published_at": "2023-11-11T22:44:56Z",
      "canonical_url": "https://dev.to/yugabyte/triggers-in-sql-database-to-extend-its-declarative-data-logic-but-not-business-logic-56md",
      "archive_path": "devto/articles/1664170.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1662615",
      "title": "Monolithic vs. Distributed SQL",
      "published_at": "2023-11-10T07:20:24Z",
      "canonical_url": "https://www.linkedin.com/pulse/monolithic-vs-distributed-sql-franck-pachot-s7ize",
      "archive_path": "devto/articles/1662615.json",
      "tags": [
        "monolithic",
        "distributed",
        "sql",
        "yugabytedb"
      ]
    },
    {
      "source": "linkedin",
      "source_id": "s7ize",
      "title": "Monolithic vs. Distributed SQL databases",
      "published_at": "2023-11-09",
      "canonical_url": "https://www.linkedin.com/pulse/monolithic-vs-distributed-sql-franck-pachot-s7ize",
      "archive_path": "linkedin/articles/s7ize.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1660309",
      "title": "Dirty Writes, INSERT ... ON CONFLICT DO UPDATE, Read Committed Isolation Level and Lost Update",
      "published_at": "2023-11-08T10:31:28Z",
      "canonical_url": "https://dev.to/yugabyte/dirty-writes-insert-on-conflict-do-update-read-committed-isolation-level-and-lost-update-13hk",
      "archive_path": "devto/articles/1660309.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1641483",
      "title": "Is co-partition or interleave necessary in Distributed SQL?",
      "published_at": "2023-11-06T11:55:39Z",
      "canonical_url": "https://dev.to/yugabyte/is-co-partition-or-interleave-necessary-in-distributed-sql-28g7",
      "archive_path": "devto/articles/1641483.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1657130",
      "title": "@DynamicUpdate with column-level locking in YugabyteDB and how to avoid write skew anomalies",
      "published_at": "2023-11-04T23:00:22Z",
      "canonical_url": "https://dev.to/yugabyte/dynamicupdate-with-column-level-locking-in-yugabytedb-and-how-to-avoid-write-skew-anomalies-379j",
      "archive_path": "devto/articles/1657130.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1656356",
      "title": "Foreign Key validation in YugabyteDB when created in NOT VALID",
      "published_at": "2023-11-04T19:08:31Z",
      "canonical_url": "https://dev.to/yugabyte/foreign-key-validation-in-yugabytedb-when-created-in-not-valid-58mi",
      "archive_path": "devto/articles/1656356.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1651359",
      "title": "Docker Image for YugabyteDB Developers",
      "published_at": "2023-10-30T23:17:35Z",
      "canonical_url": "https://dev.to/yugabyte/docker-image-for-yugabytedb-developers-3ln7",
      "archive_path": "devto/articles/1651359.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1649255",
      "title": "Can writes be blocked by reads in YugabyteDB?",
      "published_at": "2023-10-29T10:14:45Z",
      "canonical_url": "https://dev.to/yugabyte/can-writes-be-blocked-by-reads-in-yugabytedb-51j0",
      "archive_path": "devto/articles/1649255.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1645653",
      "title": "Inner Inverted Join in YugabyteDB & PostgreSQL",
      "published_at": "2023-10-25T20:45:37Z",
      "canonical_url": "https://dev.to/yugabyte/inner-inverted-join-in-yugabytedb-postgresql-g22",
      "archive_path": "devto/articles/1645653.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1644969",
      "title": "TTL in YugabyteDB with batched deletes",
      "published_at": "2023-10-24T19:01:35Z",
      "canonical_url": "https://dev.to/yugabyte/ttl-in-yugabytedb-with-batched-deletes-33n5",
      "archive_path": "devto/articles/1644969.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1640527",
      "title": "Fast SELECT COUNT(*) WHERE in YugabyteDB",
      "published_at": "2023-10-22T18:44:24Z",
      "canonical_url": "https://dev.to/yugabyte/fast-select-count-in-yugabytedb-464h",
      "archive_path": "devto/articles/1640527.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1627242",
      "title": "Scalable range sharding to avoid hotspots on indexes",
      "published_at": "2023-10-08T19:53:14Z",
      "canonical_url": "https://dev.to/yugabyte/scalable-range-sharding-with-yugabytedb-1o51",
      "archive_path": "devto/articles/1627242.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1619940",
      "title": "YugabyteDB in Jupyter Notebook in Google Colab",
      "published_at": "2023-10-03T21:27:29Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-in-jupyter-notebook-in-google-colab-18pb",
      "archive_path": "devto/articles/1619940.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1618910",
      "title": "PostGIS on YugabyteDB Alma8 (workarounds)",
      "published_at": "2023-10-03T11:57:01Z",
      "canonical_url": "https://dev.to/yugabyte/postgis-on-yugabytedb-alma8-with-workaround-2okj",
      "archive_path": "devto/articles/1618910.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1610195",
      "title": "Online Rolling Upgrade in YugabyteDB Managed",
      "published_at": "2023-09-24T21:23:06Z",
      "canonical_url": "https://dev.to/yugabyte/online-rolling-upgrade-in-yugabytedb-managed-4l60",
      "archive_path": "devto/articles/1610195.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1608087",
      "title": "IF-THEN-ELSE in SQL WHERE CLAUSE",
      "published_at": "2023-09-23T17:28:52Z",
      "canonical_url": "https://dev.to/yugabyte/if-then-else-in-sql-where-clause-2iof",
      "archive_path": "devto/articles/1608087.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1607236",
      "title": "Bitmap Scan in YugabyteDB",
      "published_at": "2023-09-21T17:00:07Z",
      "canonical_url": "https://dev.to/yugabyte/bitmap-scan-in-yugabytedb-1id",
      "archive_path": "devto/articles/1607236.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1602465",
      "title": "YugabyteDB Cost-Based Optimizer and cost model for Distributed LSM-Tree",
      "published_at": "2023-09-18T11:25:00Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-cost-based-optimizer-and-cost-model-for-distributed-lsm-tree-1hb4",
      "archive_path": "devto/articles/1602465.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1601298",
      "title": "Transaction Internals: Fast Path vs Multi-Shard",
      "published_at": "2023-09-15T21:18:30Z",
      "canonical_url": "https://dev.to/yugabyte/transaction-internals-fast-path-vs-multi-shard-59bm",
      "archive_path": "devto/articles/1601298.json",
      "tags": [
        "yugabytedb",
        "distribute",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1589450",
      "title": "The cost of additional secondary indexes in PostgreSQL & YugabyteDB",
      "published_at": "2023-09-15T20:56:28Z",
      "canonical_url": "https://dev.to/yugabyte/the-cost-of-additional-secondary-indexes-in-postgresql-yugabytedb-4eeo",
      "archive_path": "devto/articles/1589450.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1596710",
      "title": "Postgres Join Methods in YugabyteDB",
      "published_at": "2023-09-11T20:14:08Z",
      "canonical_url": "https://dev.to/yugabyte/postgresql-join-methods-in-yugabytedb-f02",
      "archive_path": "devto/articles/1596710.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1596405",
      "title": "ACID properties explained to NoSQL vendors",
      "published_at": "2023-09-11T08:58:35Z",
      "canonical_url": "https://www.linkedin.com/pulse/acid-properties-explained-nosql-vendors-franck-pachot",
      "archive_path": "devto/articles/1596405.json",
      "tags": [
        "sql",
        "nosql",
        "acid",
        "transactional"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "29245",
      "title": "Improving PostgreSQL: How to Overcome the Tough Challenges with YugabyteDB",
      "published_at": "2023-09-06T12:00:00",
      "canonical_url": "https://www.yugabyte.com/blog/improve-postgresql/",
      "archive_path": "yugabyte/articles/29245.json",
      "tags": [
        "Compression",
        "Data Replication",
        "Failover",
        "Garbage Collection",
        "High Scalability",
        "PostgreSQL",
        "Primary Index",
        "Wraparound",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1587855",
      "title": "JSON as TEXT, JSON, or JSONB datatypes in YugabyteDB",
      "published_at": "2023-09-04T06:55:45Z",
      "canonical_url": "https://dev.to/yugabyte/storing-json-as-text-json-or-jsonb-datatypes-in-yugabytedb-3764",
      "archive_path": "devto/articles/1587855.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "json"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1584487",
      "title": "PL/Python in YugabyteDB (build with yugabyte)",
      "published_at": "2023-08-30T14:35:19Z",
      "canonical_url": "https://dev.to/yugabyte/plpython-on-yugabytedb-fok",
      "archive_path": "devto/articles/1584487.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1579719",
      "title": "pg_stat_activity from all servers in YugabyteDB",
      "published_at": "2023-08-25T11:12:21Z",
      "canonical_url": "https://dev.to/yugabyte/query-pgstatactivity-from-all-servers-in-yugabytedb-20j8",
      "archive_path": "devto/articles/1579719.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1560303",
      "title": "No-gap sequence in PostgreSQL and YugabyteDB",
      "published_at": "2023-08-24T14:49:47Z",
      "canonical_url": "https://dev.to/yugabyte/no-gap-sequence-in-postgresql-and-yugabytedb-3feo",
      "archive_path": "devto/articles/1560303.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1569542",
      "title": "YugabyteDB is Distributed SQL: resilient and consistent",
      "published_at": "2023-08-15T22:58:34Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-is-distributed-sql-resilient-and-consistent-4llf",
      "archive_path": "devto/articles/1569542.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1569417",
      "title": "Citus is not ACID but Eventually Consistent",
      "published_at": "2023-08-15T22:48:15Z",
      "canonical_url": "https://dev.to/yugabyte/citus-is-not-acid-but-eventually-consistent-3711",
      "archive_path": "devto/articles/1569417.json",
      "tags": [
        "postgres",
        "citus",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1567427",
      "title": "Partitioning vs. Sharding - What about SQL Features?",
      "published_at": "2023-08-14T18:18:26Z",
      "canonical_url": "https://dev.to/yugabyte/partitioning-vs-sharding-what-about-sql-features-4fl1",
      "archive_path": "devto/articles/1567427.json",
      "tags": [
        "distributed",
        "sql",
        "sharding",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1565625",
      "title": "YugabyteDB official Dockerfile",
      "published_at": "2023-08-11T14:16:16Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-official-dockerfile-2k62",
      "archive_path": "devto/articles/1565625.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "docker"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1562676",
      "title": "Counters with YugabyteDB",
      "published_at": "2023-08-09T10:44:10Z",
      "canonical_url": "https://dev.to/yugabyte/in-memory-counters-with-yugabytedb-2p54",
      "archive_path": "devto/articles/1562676.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1561395",
      "title": "pg-hostname on YugabyteDB compiled and installed directly on the server",
      "published_at": "2023-08-07T15:08:55Z",
      "canonical_url": "https://dev.to/yugabyte/pg-hostname-on-yugabytedb-compiled-and-installed-directly-on-the-server-15id",
      "archive_path": "devto/articles/1561395.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1551908",
      "title": "FlameGraphs on Steroids with profiler.firefox.com",
      "published_at": "2023-07-28T20:27:53Z",
      "canonical_url": "https://dev.to/yugabyte/flamegraphs-on-steroids-with-profilerfirefoxcom-203f",
      "archive_path": "devto/articles/1551908.json",
      "tags": [
        "linux",
        "perf",
        "stat",
        "profiler"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1550685",
      "title": "Another funny benchmark: \"hugedbbench\"",
      "published_at": "2023-07-27T11:34:05Z",
      "canonical_url": "https://dev.to/yugabyte/another-funny-benchmark-hugedbbench-7b9",
      "archive_path": "devto/articles/1550685.json",
      "tags": [
        "yugabytedb",
        "benchmark",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1547798",
      "title": "SQL for low code applications: SQLPage",
      "published_at": "2023-07-25T06:13:58Z",
      "canonical_url": "https://dev.to/yugabyte/sql-for-low-code-applications-sqlpage-lmk",
      "archive_path": "devto/articles/1547798.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "lowcode",
        "sql"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "28671",
      "title": "The Complete Guide to Troubleshooting Oracle Connection Errors",
      "published_at": "2023-07-24T11:43:45",
      "canonical_url": "https://www.yugabyte.com/blog/troubleshoot-oracle-connection-errors/",
      "archive_path": "yugabyte/articles/28671.json",
      "tags": [
        "Databases",
        "JDBC",
        "Oracle",
        "Oracle Migration",
        "TLS Encryption",
        "mTLS"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1546999",
      "title": "PostgreSQL Optimizer Hints Discussion",
      "published_at": "2023-07-24T08:39:10Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-optimizer-hints-discussion-1nnm",
      "archive_path": "devto/articles/1546999.json",
      "tags": [
        "postgres",
        "sql",
        "hints",
        "optimizer"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1506463",
      "title": "Understand what you run before publishing your (silly) benchmark results",
      "published_at": "2023-07-19T20:13:56Z",
      "canonical_url": "https://dev.to/yugabyte/understand-what-you-run-before-publishing-your-silly-benchmark-results-48bb",
      "archive_path": "devto/articles/1506463.json",
      "tags": [
        "yugabytedb",
        "hammerdb",
        "distributed",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1529363",
      "title": "YugabyteDB: set read-only for a single query to allow follower reads",
      "published_at": "2023-07-10T14:15:39Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-set-read-only-for-a-single-query-to-allow-follower-reads-28k5",
      "archive_path": "devto/articles/1529363.json",
      "tags": [
        "distributed",
        "postgres",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "28484",
      "title": "Is My PostgreSQL Database Experiencing CPU, RAM, or I/O Pressure?",
      "published_at": "2023-07-10T11:54:00",
      "canonical_url": "https://www.yugabyte.com/blog/identify-cpu-ram-io-pressure-postgresql/",
      "archive_path": "yugabyte/articles/28484.json",
      "tags": [
        "Database Performance",
        "IO issues",
        "PostgreSQL",
        "PostgreSQL Tips and Tricks"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1524941",
      "title": "Query Amazon Redshift from YugabyteDB though PostgreSQL Foreign Data Wrapper and VPC peering",
      "published_at": "2023-07-05T08:38:07Z",
      "canonical_url": "https://dev.to/aws-heroes/query-redshift-from-yugabytedb-though-postgresql-foreign-data-wrapper-on-the-same-vpc-4m7j",
      "archive_path": "devto/articles/1524941.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "amazon",
        "redshift"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1524837",
      "title": "Book review: Mastering PostgreSQL 15",
      "published_at": "2023-07-03T15:23:58Z",
      "canonical_url": "https://dev.to/aws-heroes/book-review-mastering-postgresql-15-2d8m",
      "archive_path": "devto/articles/1524837.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "books"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1521821",
      "title": "Approximate Count Distinct in YugabyteDB (and PostgreSQL) with HyperLogLog",
      "published_at": "2023-06-30T20:16:05Z",
      "canonical_url": "https://dev.to/yugabyte/approximate-count-distinct-in-yugabytedb-and-postgresql-with-hyperloglog-1i13",
      "archive_path": "devto/articles/1521821.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1519961",
      "title": "Quickly testing an extension from docker image",
      "published_at": "2023-06-28T18:00:27Z",
      "canonical_url": "https://dev.to/yugabyte/quickly-testing-an-extension-from-docker-image-372m",
      "archive_path": "devto/articles/1519961.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "28372",
      "title": "How to Create a Conditional WHERE Clause in PostgreSQL",
      "published_at": "2023-06-26T11:56:00",
      "canonical_url": "https://www.yugabyte.com/blog/conditional-where-clause-postgresql/",
      "archive_path": "yugabyte/articles/28372.json",
      "tags": [
        "PostgreSQL",
        "PostgreSQL Tips and Tricks",
        "Query"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1514423",
      "title": "wiki.js on YugabyteDB",
      "published_at": "2023-06-23T13:58:43Z",
      "canonical_url": "https://dev.to/yugabyte/wikijs-on-yugabytedb-dl0",
      "archive_path": "devto/articles/1514423.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "wiki",
        "opensource"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1514287",
      "title": "How to Select the First Row of Each Set of Grouped Rows Using GROUP BY",
      "published_at": "2023-06-23T09:30:02Z",
      "canonical_url": "https://www.yugabyte.com/blog/select-first-row-group-by-postgresql/",
      "archive_path": "devto/articles/1514287.json",
      "tags": [
        "postgres",
        "tips",
        "yugabytedb",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1493413",
      "title": "YugabyteDB fast path write",
      "published_at": "2023-06-19T15:36:30Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-fast-path-write-51hm",
      "archive_path": "devto/articles/1493413.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1508080",
      "title": "Global Unique Constraint on a partitioned table in PostgreSQL and YugabyteDB",
      "published_at": "2023-06-19T08:10:35Z",
      "canonical_url": "https://dev.to/yugabyte/global-unique-constraint-on-a-partitioned-table-in-postgresql-and-yugabytedb-4nh6",
      "archive_path": "devto/articles/1508080.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1506670",
      "title": "How to Check Your PostgreSQL Version",
      "published_at": "2023-06-16T10:16:39Z",
      "canonical_url": "https://www.yugabyte.com/blog/check-postgresql-version/",
      "archive_path": "devto/articles/1506670.json",
      "tags": [
        "postgres",
        "tips",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1506669",
      "title": "Indexing for LIKE Queries in PostgreSQL",
      "published_at": "2023-06-16T10:15:09Z",
      "canonical_url": "https://www.yugabyte.com/blog/postgresql-like-query-performance-variations/",
      "archive_path": "devto/articles/1506669.json",
      "tags": [
        "postgres",
        "tips",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1506665",
      "title": "Indexing JSON in PostgreSQL",
      "published_at": "2023-06-16T10:13:44Z",
      "canonical_url": "https://www.yugabyte.com/blog/index-json-postgresql/",
      "archive_path": "devto/articles/1506665.json",
      "tags": [
        "postgres",
        "tips",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1504732",
      "title": "One fat index, or two indexes on each columns? PostgreSQL vs. YugabyteDB",
      "published_at": "2023-06-14T21:12:57Z",
      "canonical_url": "https://dev.to/yugabyte/one-fat-index-or-two-indexes-on-each-columns-postgresql-vs-yugabytedb-ngj",
      "archive_path": "devto/articles/1504732.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1503622",
      "title": "Approximate COUNT YugabyteDB Community Open Hours: Episode 2: Extensions and Smart Driver",
      "published_at": "2023-06-13T20:43:57Z",
      "canonical_url": "https://dev.to/franckpachot/approximate-count-yugabytedb-community-open-hours-episode-2-extensions-and-smart-driver-2me4",
      "archive_path": "devto/articles/1503622.json",
      "tags": []
    },
    {
      "source": "yugabyte",
      "source_id": "28212",
      "title": "How to Check Your PostgreSQL Version",
      "published_at": "2023-06-13T12:22:44",
      "canonical_url": "https://www.yugabyte.com/blog/check-postgresql-version/",
      "archive_path": "yugabyte/articles/28212.json",
      "tags": [
        "PostgreSQL",
        "PostgreSQL Tips and Tricks"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1501627",
      "title": "PGLOADBALANCEHOSTS",
      "published_at": "2023-06-12T09:13:13Z",
      "canonical_url": "https://dev.to/yugabyte/pgloadbalancehosts-1be6",
      "archive_path": "devto/articles/1501627.json",
      "tags": [
        "postgres",
        "distributed",
        "yugabytedb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1491603",
      "title": "UPDATE RETURNING OLD | NEW in YugabyteDB and PostgreSQL",
      "published_at": "2023-06-04T20:36:42Z",
      "canonical_url": "https://dev.to/yugabyte/update-returning-old-new-in-yugabytedb-and-postgresql-5070",
      "archive_path": "devto/articles/1491603.json",
      "tags": [
        "distributed",
        "postgres",
        "yugabytedb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1486595",
      "title": "connecting with psql 16 beta to YugabyteDB and use the most recent features",
      "published_at": "2023-06-01T10:47:22Z",
      "canonical_url": "https://dev.to/yugabyte/connecting-with-psql-16-beta-to-yugabytedb-and-use-recent-features-3glp",
      "archive_path": "devto/articles/1486595.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1487446",
      "title": "Compile pg_math for YugabyteDB (wrapper on GNU Scientific Library distribution functions)",
      "published_at": "2023-05-31T20:45:00Z",
      "canonical_url": "https://dev.to/yugabyte/compile-pgmath-for-yugabytedb-wrapper-on-gnu-scientific-library-distribution-functions-2d04",
      "archive_path": "devto/articles/1487446.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1483145",
      "title": "DROP TABLE while being read: wait or wound?",
      "published_at": "2023-05-30T11:35:44Z",
      "canonical_url": "https://dev.to/aws-heroes/drop-table-while-being-read-wait-or-wound-57l5",
      "archive_path": "devto/articles/1483145.json",
      "tags": [
        "distributed",
        "sql",
        "postgres",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1481163",
      "title": "Approximate Count for hash sharded YugabyteDB tables",
      "published_at": "2023-05-25T22:32:11Z",
      "canonical_url": "https://dev.to/franckpachot/approximate-count-for-hash-sharded-yugabytedb-tables-48nj",
      "archive_path": "devto/articles/1481163.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1479575",
      "title": "Parallel Scan in YugabyteDB (ysql_select_parallelism=-1)",
      "published_at": "2023-05-24T20:54:45Z",
      "canonical_url": "https://dev.to/yugabyte/parallel-scan-in-yugabytedb-ysqlselectparallelism-1-49in",
      "archive_path": "devto/articles/1479575.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1479838",
      "title": "YugabyteDB Community Open Hours: Episode 1, In The Beginning...",
      "published_at": "2023-05-24T19:35:44Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-community-open-hours-episode-1-in-the-beginning-54c9",
      "archive_path": "devto/articles/1479838.json",
      "tags": [
        "distributed",
        "sql",
        "yugabytedb",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1477224",
      "title": "Generate SQL Script in PostgreSQL",
      "published_at": "2023-05-23T07:02:52Z",
      "canonical_url": "https://www.yugabyte.com/blog/generate-sql-script-postgresql/",
      "archive_path": "devto/articles/1477224.json",
      "tags": [
        "postgres",
        "tips",
        "sql",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "27868",
      "title": "Generate SQL Script in PostgreSQL",
      "published_at": "2023-05-22T11:46:00",
      "canonical_url": "https://www.yugabyte.com/blog/generate-sql-script-postgresql/",
      "archive_path": "yugabyte/articles/27868.json",
      "tags": [
        "PostgreSQL",
        "PostgreSQL Tips and Tricks",
        "SQL"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1470183",
      "title": "pg_hint_plan in views? No. But in UDFs, Yes",
      "published_at": "2023-05-17T11:00:11Z",
      "canonical_url": "https://dev.to/aws-heroes/pghintplan-in-views-no-but-in-udfs-yes-5159",
      "archive_path": "devto/articles/1470183.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1469717",
      "title": "Install extensions from PGDG repo to YugabyteDB in Alma8",
      "published_at": "2023-05-16T11:43:28Z",
      "canonical_url": "https://dev.to/yugabyte/install-extensions-from-pgdg-repo-to-yugabytedb-in-alma8-28in",
      "archive_path": "devto/articles/1469717.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1468642",
      "title": "Generate Random Text Strings in PostgreSQL",
      "published_at": "2023-05-15T13:17:50Z",
      "canonical_url": "https://www.yugabyte.com/blog/generate-random-text-strings-in-postgresql/",
      "archive_path": "devto/articles/1468642.json",
      "tags": [
        "postgres",
        "tips",
        "sql",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "27869",
      "title": "Generate Random Text Strings in PostgreSQL",
      "published_at": "2023-05-15T11:50:00",
      "canonical_url": "https://www.yugabyte.com/blog/generate-random-text-strings-in-postgresql/",
      "archive_path": "yugabyte/articles/27869.json",
      "tags": [
        "PostgreSQL",
        "PostgreSQL Tips and Tricks"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1456531",
      "title": "Unwrap Oracle Home .plb",
      "published_at": "2023-05-03T20:25:49Z",
      "canonical_url": "https://dev.to/aws-heroes/unwrap-oracle-home-plb-bn0",
      "archive_path": "devto/articles/1456531.json",
      "tags": [
        "oracle",
        "troubleshooting",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1453309",
      "title": "“Multi-AZ” in Amazon RDS and how it may differ from High Availability or resilience to failures",
      "published_at": "2023-05-01T13:50:18Z",
      "canonical_url": "https://dev.to/aws-heroes/multi-az-in-amazon-rds-and-how-it-differs-from-high-availability-gn9",
      "archive_path": "devto/articles/1453309.json",
      "tags": [
        "sql",
        "database",
        "resilience",
        "availability"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1452498",
      "title": "Importing from Oracle Edition Based Redefinition (EBR) to YugabyteDB",
      "published_at": "2023-04-30T16:52:39Z",
      "canonical_url": "https://dev.to/yugabyte/importing-from-oracle-edition-based-redefinition-ebr-to-yugabytedb-19c0",
      "archive_path": "devto/articles/1452498.json",
      "tags": [
        "yugabyted",
        "oracle",
        "migration",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1450485",
      "title": "TiDB: Distributed MySQL with Foreign Key (not production ready) and not Serializable",
      "published_at": "2023-04-28T14:24:22Z",
      "canonical_url": "https://dev.to/franckpachot/tidb-foreign-key-but-not-serializable-4bfn",
      "archive_path": "devto/articles/1450485.json",
      "tags": [
        "distributed",
        "sql",
        "database",
        "tidb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1449387",
      "title": "🦦 What OtterTune hates the most in PostgreSQL🐘 is solved in YugabyteDB🚀",
      "published_at": "2023-04-27T19:48:13Z",
      "canonical_url": "https://dev.to/yugabyte/what-ottertune-hates-the-most-in-postgresql-is-solved-in-yugabytedb-1l1o",
      "archive_path": "devto/articles/1449387.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1448597",
      "title": "How ACID is Citus? (compared to YugabyteDB)",
      "published_at": "2023-04-26T09:57:00Z",
      "canonical_url": "https://dev.to/yugabyte/how-acid-is-citusdb-3j8f",
      "archive_path": "devto/articles/1448597.json",
      "tags": [
        "distributed",
        "sql",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1441822",
      "title": "Range indexes for LIKE queries in YugabyteDB",
      "published_at": "2023-04-22T08:48:47Z",
      "canonical_url": "https://dev.to/yugabyte/range-indexes-for-like-queries-in-yugabytedb-10kd",
      "archive_path": "devto/articles/1441822.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1442277",
      "title": "YugabyteDB: Achieving High Availability and Disaster Recovery with Two Data Centers",
      "published_at": "2023-04-20T14:35:25Z",
      "canonical_url": "https://www.yugabyte.com/blog/high-availability-disaster-recovery-two-data-centers/",
      "archive_path": "devto/articles/1442277.json",
      "tags": [
        "yugabytedb",
        "ha",
        "dr",
        "replication"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "27432",
      "title": "Achieving High Availability and Disaster Recovery with Two Data Centers",
      "published_at": "2023-04-20T12:17:00",
      "canonical_url": "https://www.yugabyte.com/blog/high-availability-disaster-recovery-two-data-centers/",
      "archive_path": "yugabyte/articles/27432.json",
      "tags": [
        "Data Replication",
        "Distributed SQL",
        "High Availability",
        "How It Works",
        "Oracle",
        "PostgreSQL",
        "xCluster"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1440611",
      "title": "DROP IF EXISTS & CREATE IF NOT EXISTS in Oracle, MySQL, MariaDB, PostgreSQL, YugabyteDB",
      "published_at": "2023-04-19T21:29:21Z",
      "canonical_url": "https://dev.to/aws-heroes/drop-if-exists-create-if-not-exists-in-oracle-mysql-mariadb-postgresql-yugabytedb-pb1",
      "archive_path": "devto/articles/1440611.json",
      "tags": [
        "sql",
        "database",
        "ddl",
        "idempotent"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1430590",
      "title": "Scalable bounded COUNT DISTINCT in YugabyteDB",
      "published_at": "2023-04-09T10:46:55Z",
      "canonical_url": "https://dev.to/yugabyte/combining-postgresql-partial-index-yugabytedb-hybrid-scan-and-pushed-down-limit-to-get-a-scalable-bounded-count-distinct-3geo",
      "archive_path": "devto/articles/1430590.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1401525",
      "title": "UPSERT some columns in YugabyteDB (ON CONFLICT DO UPDATE)",
      "published_at": "2023-04-03T19:27:17Z",
      "canonical_url": "https://dev.to/yugabyte/upsert-in-yugabytedb-236j",
      "archive_path": "devto/articles/1401525.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1413325",
      "title": "Filtering on DENSE_RANK() optimized as pushed-down DISTINCT in YugabyteDB",
      "published_at": "2023-04-02T21:55:04Z",
      "canonical_url": "https://dev.to/yugabyte/filtering-on-denserank-optimized-as-pushed-down-distinct-in-yugabytedb-5mp",
      "archive_path": "devto/articles/1413325.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1406855",
      "title": "YugabyteDB column-level locking for UPDATE",
      "published_at": "2023-03-19T19:19:38Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-column-level-locking-for-update-41ko",
      "archive_path": "devto/articles/1406855.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "lock"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1404643",
      "title": "AWS EKS: Check if you are on CPU, IO, RAM pressure (a YugabyteDB example)",
      "published_at": "2023-03-17T15:47:16Z",
      "canonical_url": "https://dev.to/aws-heroes/aws-eks-check-if-you-are-on-cpu-io-ram-pressure-a-yugabytedb-example-3in1",
      "archive_path": "devto/articles/1404643.json",
      "tags": [
        "linux",
        "yugabytedb",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1403284",
      "title": "Retype a column in YugabyteDB (and PostgreSQL)",
      "published_at": "2023-03-16T14:38:20Z",
      "canonical_url": "https://dev.to/yugabyte/retype-a-column-in-yugabytedb-and-postgresql-36oj",
      "archive_path": "devto/articles/1403284.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1400770",
      "title": "Scalable sequences in PostgreSQL / YugabyteDB",
      "published_at": "2023-03-14T17:48:10Z",
      "canonical_url": "https://dev.to/yugabyte/scalable-sequences-in-postgresql-yugabytedb-107i",
      "archive_path": "devto/articles/1400770.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1396189",
      "title": "Simulate network latency in a YugabyteDB cluster, on a Docker lab",
      "published_at": "2023-03-12T11:24:21Z",
      "canonical_url": "https://dev.to/yugabyte/simulate-network-latency-in-a-yugabytedb-cluster-on-a-docker-lab-264a",
      "archive_path": "devto/articles/1396189.json",
      "tags": [
        "yugabytedb",
        "docker",
        "network",
        "latency"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1388312",
      "title": "YugabyteDB Managed CLI: provisioning a free DB from the command line",
      "published_at": "2023-03-04T22:20:36Z",
      "canonical_url": "https://dev.to/franckpachot/yugabytedb-managed-cli-provisioning-a-free-db-from-the-command-line-48np",
      "archive_path": "devto/articles/1388312.json",
      "tags": [
        "yugabytedb",
        "free",
        "managed",
        "service"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1384868",
      "title": "Foreign keys referencing partitioned tables in YugabyteDB",
      "published_at": "2023-03-02T11:54:26Z",
      "canonical_url": "https://dev.to/yugabyte/foreign-keys-referencing-partitioned-tables-in-yugabytedb-26pn",
      "archive_path": "devto/articles/1384868.json",
      "tags": [
        "yugabytedb",
        "partitioning",
        "distributed",
        "foreignkey"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1358027",
      "title": "SELECT DISTINCT pushdown to do a loose index scan (skip scan)",
      "published_at": "2023-02-08T11:49:39Z",
      "canonical_url": "https://dev.to/yugabyte/select-distinct-pushdown-to-do-a-loose-index-scan-skip-scan-5e0p",
      "archive_path": "devto/articles/1358027.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1355852",
      "title": "Oracle Auto indexes missing after ora2pg migration? Look at CONSTRAINT_INDEX",
      "published_at": "2023-02-07T22:36:46Z",
      "canonical_url": "https://dev.to/yugabyte/oracle-auto-indexes-missing-after-ora2pg-migration-look-at-constraintindex-31p8",
      "archive_path": "devto/articles/1355852.json",
      "tags": [
        "announcement",
        "devto",
        "blockchain",
        "crypto"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1353953",
      "title": "YugabyteDB Recovery Time Objective (RTO) with PgBench: continuous availability with max. 15s latency on infrastructure failure",
      "published_at": "2023-02-06T11:43:04Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-recovery-time-objective-rto-with-pgbench-continuous-availability-with-max-15-seconds-latency-on-failure-2po4",
      "archive_path": "devto/articles/1353953.json",
      "tags": [
        "yugabytedb",
        "resilience",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1352046",
      "title": "YugabyteDB Managed API: provisioning a free DB from command line",
      "published_at": "2023-02-03T22:30:28Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-managed-api-provisioning-a-free-db-from-command-line-47k6",
      "archive_path": "devto/articles/1352046.json",
      "tags": [
        "yugabytedb",
        "free",
        "managed",
        "service"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1344275",
      "title": "PostgreSQL: ⚠ when locking though views (TL;DR: test for race conditions and check execution plan with BUFFERS, VERBOSE)",
      "published_at": "2023-02-02T17:44:35Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-when-locking-though-views-tldr-test-for-race-conditions-and-check-execution-plan-with-buffers-verbose-28je",
      "archive_path": "devto/articles/1344275.json",
      "tags": [
        "postgres",
        "sql",
        "lock",
        "view"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1347741",
      "title": "Testing LSM-Tree merge for Size Amplification in YugabyteDB",
      "published_at": "2023-01-31T17:11:47Z",
      "canonical_url": "https://dev.to/yugabyte/testing-lsm-tree-merge-for-size-amplification-in-yugabytedb-2kh9",
      "archive_path": "devto/articles/1347741.json",
      "tags": [
        "crypto",
        "blockchain",
        "web3",
        "offers"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1348005",
      "title": "LSM-Tree compaction in YugabyteDB - starting a series of posts",
      "published_at": "2023-01-31T16:47:48Z",
      "canonical_url": "https://dev.to/yugabyte/lsm-tree-compaction-in-yugabytedb-starting-a-series-of-posts-577k",
      "archive_path": "devto/articles/1348005.json",
      "tags": [
        "cryptocurrency",
        "crypto",
        "blockchain",
        "offers"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1347982",
      "title": "SELECT COUNT(*) FROM 🚀WHERE some conditions ;",
      "published_at": "2023-01-31T16:15:21Z",
      "canonical_url": "https://dev.to/yugabyte/select-count-from-where-some-conditions--5epl",
      "archive_path": "devto/articles/1347982.json",
      "tags": [
        "crypto",
        "blockchain",
        "web3",
        "offers"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1343222",
      "title": "Blogs about by Vlad Mihalcea about YugabyteDB",
      "published_at": "2023-01-27T08:04:21Z",
      "canonical_url": "https://dev.to/yugabyte/blogs-about-by-vlad-mihalcea-about-yugabytedb-39c0",
      "archive_path": "devto/articles/1343222.json",
      "tags": [
        "discuss",
        "softwaredevelopment",
        "programming"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1342121",
      "title": "YugabyteDB: when provisional records are applied to RegularDB from IntentsDB",
      "published_at": "2023-01-26T11:48:07Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-when-provisional-records-are-applied-to-regulardb-from-intentsdb-5eif",
      "archive_path": "devto/articles/1342121.json",
      "tags": [
        "distributed",
        "sql",
        "transaction",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1340663",
      "title": "DynamoDB local in Docker",
      "published_at": "2023-01-25T19:54:28Z",
      "canonical_url": "https://dev.to/aws-heroes/dynamodb-local-in-docker-25i",
      "archive_path": "devto/articles/1340663.json",
      "tags": [
        "discuss"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1337805",
      "title": "pREST on YugabyteDB",
      "published_at": "2023-01-22T19:18:27Z",
      "canonical_url": "https://dev.to/yugabyte/prest-on-yugabytedb-f6a",
      "archive_path": "devto/articles/1337805.json",
      "tags": [
        "extensions",
        "plugins",
        "discuss"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1332990",
      "title": "FerretDB + YugabyteDB on Kubernetes (Amazon EKS): a MongoDB API to Distributed SQL, at scale",
      "published_at": "2023-01-19T10:06:34Z",
      "canonical_url": "https://dev.to/aws-heroes/ferretdb-yugabytedb-on-kubernetes-amazon-eks-a-mongodb-api-to-distributed-sql-at-scale-1o2c",
      "archive_path": "devto/articles/1332990.json",
      "tags": [
        "mongodb",
        "yugabytedb",
        "postgres",
        "eks"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1332879",
      "title": "generate_series() in Oracle like in PostgreSQL",
      "published_at": "2023-01-18T07:59:55Z",
      "canonical_url": "https://dev.to/aws-heroes/generateseries-in-oracle-like-in-postgresql-6n7",
      "archive_path": "devto/articles/1332879.json",
      "tags": [
        "oracle",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1332444",
      "title": "YugabyteDB Helm Chart services: LoadBalancer and headless ClusterIP ☸️🚀",
      "published_at": "2023-01-17T22:00:52Z",
      "canonical_url": "https://dev.to/aws-heroes/yugabytedb-helm-chart-services-loadbalancer-and-headless-clusterip-4d5m",
      "archive_path": "devto/articles/1332444.json",
      "tags": [
        "yugabytedb",
        "kubernetes",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1326734",
      "title": "When are PostgreSQL prepared statements fully prepared for execution?",
      "published_at": "2023-01-12T15:14:28Z",
      "canonical_url": "https://dev.to/aws-heroes/are-postgresql-prepared-statements-really-prepared-4cm2",
      "archive_path": "devto/articles/1326734.json",
      "tags": [
        "productivity",
        "webscraping",
        "api"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1321826",
      "title": "SQL doesn't need the \"Single Table Design\" but Composite Primary Keys",
      "published_at": "2023-01-10T19:42:11Z",
      "canonical_url": "https://dev.to/aws-heroes/sql-doesnt-need-the-single-table-design-but-composite-primary-keys-5048",
      "archive_path": "devto/articles/1321826.json",
      "tags": [
        "sql",
        "dynamodb",
        "composite",
        "keys"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1318304",
      "title": "🚀Batched Nested Loop to reduce read requests to the distributed storage",
      "published_at": "2023-01-07T22:37:53Z",
      "canonical_url": "https://dev.to/yugabyte/batched-nested-loop-to-reduce-read-requests-to-the-distributed-storage-j5i",
      "archive_path": "devto/articles/1318304.json",
      "tags": [
        "yugabytedb",
        "sql",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1320081",
      "title": "Scalable Sequence for PostgreSQL",
      "published_at": "2023-01-07T19:11:25Z",
      "canonical_url": "https://dev.to/aws-heroes/scalable-sequence-for-postgresql-34o7",
      "archive_path": "devto/articles/1320081.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1319616",
      "title": "Parallel export to CSV in YugabyteDB thanks to yb_hash_code() and PostgreSQL-compatibility",
      "published_at": "2023-01-06T10:41:53Z",
      "canonical_url": "https://dev.to/yugabyte/parallel-export-to-csv-in-yugabytedb-43f9",
      "archive_path": "devto/articles/1319616.json",
      "tags": [
        "emptystring"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1305851",
      "title": "Migrating from Oracle Autonomous Database to YugabyteDB with YB-Voyager",
      "published_at": "2023-01-04T16:38:10Z",
      "canonical_url": "https://dev.to/yugabyte/migrating-from-oracle-autonomous-database-to-yugabytedb-with-yb-voyager-3o7d",
      "archive_path": "devto/articles/1305851.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "oracle",
        "migration"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1316587",
      "title": "Data Rollup in YugabyteDB🚀 and PostgreSQL🐘",
      "published_at": "2023-01-03T23:44:11Z",
      "canonical_url": "https://dev.to/yugabyte/data-rollup-in-yugabytedb-and-postgresql-5fkd",
      "archive_path": "devto/articles/1316587.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1305316",
      "title": "Install extensions from PGDG repo to YugabyteDB - example with sequential_uuids",
      "published_at": "2022-12-22T11:16:30Z",
      "canonical_url": "https://dev.to/yugabyte/install-extensions-from-pgdg-repo-to-yugabytedb-example-with-sequentialuuids-1dio",
      "archive_path": "devto/articles/1305316.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "extension",
        "compatibility"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1304190",
      "title": "Adding a PostgreSQL extension to YugabyteDB - example with timestamp9",
      "published_at": "2022-12-21T10:03:15Z",
      "canonical_url": "https://dev.to/yugabyte/adding-a-postgresql-extension-to-yugabytedb-example-with-timestamp9-55ah",
      "archive_path": "devto/articles/1304190.json",
      "tags": [
        "bitcoin",
        "security"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1297878",
      "title": "A very short demo on updates in YugabyteDB",
      "published_at": "2022-12-20T20:58:08Z",
      "canonical_url": "https://dev.to/yugabyte/a-very-short-demo-on-updates-in-yugabytedb-8ik",
      "archive_path": "devto/articles/1297878.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1301007",
      "title": "IvorySQL - I've tested some Oracle-PostgreSQL compatibility of version 2.1",
      "published_at": "2022-12-19T11:02:03Z",
      "canonical_url": "https://dev.to/yugabyte/ivorysql-ive-tested-some-oracle-postgresql-compatibility-of-version-21-14de",
      "archive_path": "devto/articles/1301007.json",
      "tags": [
        "oracle",
        "sql",
        "postgres",
        "compatibility"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1301544",
      "title": "Find active forks of a GitHub repository",
      "published_at": "2022-12-18T18:03:19Z",
      "canonical_url": "https://dev.to/aws-heroes/find-active-forks-of-a-github-repository-12d5",
      "archive_path": "devto/articles/1301544.json",
      "tags": [
        "emptystring"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1299016",
      "title": "Moving data from CockroachDB🪳 to PostgreSQL🐘 or YugabyteDB🚀",
      "published_at": "2022-12-16T17:05:21Z",
      "canonical_url": "https://dev.to/yugabyte/moving-data-from-cockroachdb-to-postgresql-or-yugabytedb-462h",
      "archive_path": "devto/articles/1299016.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "database",
        "dump"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1296333",
      "title": "A very short demo to show YugabyteDB follower reads",
      "published_at": "2022-12-14T17:03:47Z",
      "canonical_url": "https://dev.to/yugabyte/a-very-short-demo-to-show-yugabytedb-follower-reads-2dp8",
      "archive_path": "devto/articles/1296333.json",
      "tags": [
        "yugabytedb",
        "ybwr",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1295980",
      "title": "INSERT ON CONFLICT returning old values",
      "published_at": "2022-12-14T11:37:41Z",
      "canonical_url": "https://dev.to/yugabyte/insert-on-conflict-returning-old-values-5025",
      "archive_path": "devto/articles/1295980.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "duplicate"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1294832",
      "title": "SQL Macros (aka Parameterized Views) in YugabyteDB with PostgreSQL UDF",
      "published_at": "2022-12-13T17:29:26Z",
      "canonical_url": "https://dev.to/yugabyte/sql-macros-in-yugabytedb-jo1",
      "archive_path": "devto/articles/1294832.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "1293195",
      "title": "EXPLAIN (ANALYZE, DIST) 🚀 YugabyteDB distributed execution plan",
      "published_at": "2022-12-12T13:56:49Z",
      "canonical_url": "https://dev.to/franckpachot/explain-analyze-dist-4nlc",
      "archive_path": "devto/articles/1293195.json",
      "tags": [
        "gratitude"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1289604",
      "title": "What is a \"truly distributed UDF\" ?",
      "published_at": "2022-12-08T22:43:41Z",
      "canonical_url": "https://dev.to/yugabyte/what-is-a-truly-distributed-udf--2ikc",
      "archive_path": "devto/articles/1289604.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "udf",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1286281",
      "title": "Partial Index as an approximate Count(*) Materialized View",
      "published_at": "2022-12-07T16:21:36Z",
      "canonical_url": "https://dev.to/yugabyte/partial-index-as-an-approximate-count-materialized-view-2k3d",
      "archive_path": "devto/articles/1286281.json",
      "tags": [
        "community",
        "opensource"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1284373",
      "title": "Index usage monitoring in YugabyteDB & PostgreSQL",
      "published_at": "2022-12-05T07:51:26Z",
      "canonical_url": "https://dev.to/yugabyte/index-usage-monitoring-in-yugabytedb-postgresql-1d5h",
      "archive_path": "devto/articles/1284373.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "index",
        "monitoring"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1281562",
      "title": "Scalable Job Queue in SQL (YugabyteDB)",
      "published_at": "2022-12-02T15:49:46Z",
      "canonical_url": "https://dev.to/yugabyte/scalable-job-queue-in-sql-yugabytedb-4ma5",
      "archive_path": "devto/articles/1281562.json",
      "tags": [
        "yugabytedb",
        "sql",
        "queue",
        "scalability"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1275672",
      "title": "The best indexes for an execution plan that never gets (too) wrong",
      "published_at": "2022-11-30T14:29:26Z",
      "canonical_url": "https://dev.to/yugabyte/the-best-indexes-for-an-execution-plan-that-never-gets-too-wrong-3hgd",
      "archive_path": "devto/articles/1275672.json",
      "tags": [
        "sql",
        "database",
        "yugabytedb",
        "optimizer"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1270951",
      "title": "Patroni and Availability Zone failure",
      "published_at": "2022-11-25T12:54:09Z",
      "canonical_url": "https://dev.to/yugabyte/patroni-and-availability-zone-failure-oei",
      "archive_path": "devto/articles/1270951.json",
      "tags": [
        "beginners",
        "career",
        "codenewbie"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1267797",
      "title": "DuckDB on YugabyteDB",
      "published_at": "2022-11-22T22:55:23Z",
      "canonical_url": "https://dev.to/yugabyte/duckdb-on-yugabytedb-31l",
      "archive_path": "devto/articles/1267797.json",
      "tags": [
        "yugabytedb",
        "olap",
        "htap",
        "duckdb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1262562",
      "title": "Cross-cluster async replication with YugabyteDB xCluster",
      "published_at": "2022-11-20T10:49:37Z",
      "canonical_url": "https://dev.to/yugabyte/cross-cluster-async-replication-with-yugabytedb-xcluster-34mg",
      "archive_path": "devto/articles/1262562.json",
      "tags": [
        "yugabytedb",
        "asynchronous",
        "replication",
        "cluster"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1256341",
      "title": "YugabyteDB auto-sharding (showing tablet size with Grafana)",
      "published_at": "2022-11-17T12:30:28Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-auto-sharding-2ahc",
      "archive_path": "devto/articles/1256341.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "sharding"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1257413",
      "title": "Flashback query in YugabyteDB",
      "published_at": "2022-11-15T16:13:02Z",
      "canonical_url": "https://dev.to/yugabyte/flashback-query-in-yugabytedb-k7o",
      "archive_path": "devto/articles/1257413.json",
      "tags": [
        "yugabytedb",
        "flashback",
        "query",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1253100",
      "title": "How far is my AWS region?",
      "published_at": "2022-11-12T21:11:49Z",
      "canonical_url": "https://dev.to/aws-heroes/how-far-is-my-aws-region-5751",
      "archive_path": "devto/articles/1253100.json",
      "tags": [
        "latency",
        "aws",
        "region",
        "dynamodb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1248283",
      "title": "MariaDB Xpand Distributed MySQL - Foreign key but no Serializable",
      "published_at": "2022-11-09T20:04:45Z",
      "canonical_url": "https://dev.to/yugabyte/mariadb-xpand-distributed-mysql-39fn",
      "archive_path": "devto/articles/1248283.json",
      "tags": [
        "distributed",
        "sql",
        "mysql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1247576",
      "title": "LSM Tree, Tombstones and YugabyteDB (No Vacuum)",
      "published_at": "2022-11-08T11:05:56Z",
      "canonical_url": "https://dev.to/yugabyte/lsm-tree-tombstones-and-yugabytedb-31cc",
      "archive_path": "devto/articles/1247576.json",
      "tags": [
        "yugabytedb",
        "lsm",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1240089",
      "title": "YugabyteDB on OKE: testing batch size for bulk load",
      "published_at": "2022-11-08T06:40:50Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-on-oke-testing-batch-size-for-bulk-load-1dc3",
      "archive_path": "devto/articles/1240089.json",
      "tags": [
        "yugabytedb",
        "oracle",
        "oci",
        "kubernetes"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1246621",
      "title": "Gitpod with YugabyteDB image",
      "published_at": "2022-11-07T15:06:21Z",
      "canonical_url": "https://dev.to/yugabyte/gitpod-with-yugabytedb-image-3apo",
      "archive_path": "devto/articles/1246621.json",
      "tags": [
        "gitpod",
        "yugabytedb",
        "postgres",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1241571",
      "title": "Mastodon on YugabyteDB",
      "published_at": "2022-11-04T22:27:04Z",
      "canonical_url": "https://dev.to/yugabyte/mastodon-on-yugabytedb-10o2",
      "archive_path": "devto/articles/1241571.json",
      "tags": [
        "mastodon",
        "yugabytedb",
        "postgres",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1084515",
      "title": "🚀 Autonomous Sharding in YugabyteDB (with automatic tablet splitting)",
      "published_at": "2022-11-01T19:21:57Z",
      "canonical_url": "https://dev.to/yugabyte/autonomous-sharding-in-yugabytedb-with-automatic-tablet-splitting-5ajh",
      "archive_path": "devto/articles/1084515.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1237274",
      "title": "YugabyteDB cloud/region/zone",
      "published_at": "2022-11-01T07:27:44Z",
      "canonical_url": "https://dev.to/franckpachot/yugabytedb-cloudregionzone-4pic",
      "archive_path": "devto/articles/1237274.json",
      "tags": [
        "yugabytedb",
        "geo",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1236964",
      "title": "How to set Read Committed in YugabyteDB",
      "published_at": "2022-10-31T13:25:30Z",
      "canonical_url": "https://dev.to/yugabyte/how-to-set-read-committed-in-yugabytedb-2m6c",
      "archive_path": "devto/articles/1236964.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "isolation",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1221461",
      "title": "Dirty Reads in Oracle Database (is Oracle ACID across failure?)",
      "published_at": "2022-10-21T12:02:32Z",
      "canonical_url": "https://dev.to/yugabyte/dirty-reads-in-oracle-database-is-oracle-acid-across-failure-43o2",
      "archive_path": "devto/articles/1221461.json",
      "tags": [
        "acid",
        "failure",
        "oracle",
        "commit"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1224043",
      "title": "YugabyteDB Skip Scan aka Loose Index Scan on compound index",
      "published_at": "2022-10-19T12:20:19Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-skip-scan-aka-loose-index-scan-on-compound-index-4dce",
      "archive_path": "devto/articles/1224043.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1218610",
      "title": "Is CosmosDB a new SQL database? Is CitusDB a distributed SQL database? Has Hyperscale vanished in the Hyperspace?",
      "published_at": "2022-10-13T15:01:45Z",
      "canonical_url": "https://dev.to/yugabyte/is-cosmosdb-a-new-sql-database-is-citusdb-a-distributed-sql-did-hyperscale-vanished-in-the-hyperspace-472d",
      "archive_path": "devto/articles/1218610.json",
      "tags": [
        "sql",
        "database",
        "nosql",
        "citusdb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1202889",
      "title": "SingleStore - is there a workaround for unsupported Foreign Key?",
      "published_at": "2022-10-10T11:47:06Z",
      "canonical_url": "https://dev.to/yugabyte/singlestore-is-there-a-workaround-for-unsupported-foreign-key-1pp0",
      "archive_path": "devto/articles/1202889.json",
      "tags": [
        "singlestore",
        "foreign",
        "key",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1210950",
      "title": "pg_hint_plan: Get the right plan without surprises",
      "published_at": "2022-10-04T14:21:42Z",
      "canonical_url": "https://dev.to/yugabyte/pghintplan-get-the-right-plan-without-surprises-42h6",
      "archive_path": "devto/articles/1210950.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "hint",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1204119",
      "title": "Real Application Testing on 🚀YugabyteDB 🐘pgreplay",
      "published_at": "2022-10-03T07:44:40Z",
      "canonical_url": "https://dev.to/yugabyte/real-application-testing-on-yugabytedb-with-pgreplay-4ibm",
      "archive_path": "devto/articles/1204119.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "rat",
        "replay"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1208522",
      "title": "Moving rows from one table to the other 🐘 🚀",
      "published_at": "2022-10-01T19:34:20Z",
      "canonical_url": "https://dev.to/yugabyte/moving-rows-from-one-table-to-the-other-31mh",
      "archive_path": "devto/articles/1208522.json",
      "tags": [
        "postgres",
        "yugabyte",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1207253",
      "title": "Testing Patroni strict synchronous mode 👉🏻 you must handle invisible commit and read split brain",
      "published_at": "2022-09-30T14:01:57Z",
      "canonical_url": "https://dev.to/yugabyte/testing-patroni-strict-synchronous-mode-you-must-handle-invisible-commit-and-read-split-brain-5bgk",
      "archive_path": "devto/articles/1207253.json",
      "tags": [
        "postgres",
        "patroni",
        "splitbrain",
        "failover"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1205346",
      "title": "Use case - daily limit: SELECT FOR UPDATE vs. UPDATE RETURNING in 🐘Aurora and 🚀YugabyteDB",
      "published_at": "2022-09-28T15:09:17Z",
      "canonical_url": "https://dev.to/franckpachot/use-case-daily-limit-select-for-update-vs-update-returning-in-aurora-and-yugabytedb-142p",
      "archive_path": "devto/articles/1205346.json",
      "tags": [
        "aws",
        "aurora",
        "yugabytedb",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1202566",
      "title": "Declarative vs. Application side Foreign Key referential integrity",
      "published_at": "2022-09-26T10:01:13Z",
      "canonical_url": "https://dev.to/yugabyte/declarative-vs-application-side-foreign-key-referential-integrity-3n7n",
      "archive_path": "devto/articles/1202566.json",
      "tags": [
        "sql",
        "foreign",
        "key",
        "constraint"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1195733",
      "title": "pg_stat_statements with pg_hint_plan",
      "published_at": "2022-09-17T12:59:32Z",
      "canonical_url": "https://dev.to/yugabyte/pgstatstatements-with-pghintplan-o1g",
      "archive_path": "devto/articles/1195733.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1190867",
      "title": "EXPLAIN from pg_stat_statements normalized queries: how to always get the generic plan in 🐘&🚀",
      "published_at": "2022-09-12T13:13:14Z",
      "canonical_url": "https://dev.to/yugabyte/explain-from-pgstatstatements-normalized-queries-how-to-always-get-the-generic-plan-in--5cfi",
      "archive_path": "devto/articles/1190867.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1185937",
      "title": "Nakama with YugabyteDB",
      "published_at": "2022-09-06T09:22:32Z",
      "canonical_url": "https://dev.to/yugabyte/nakama-with-yugabytedb-1i5o",
      "archive_path": "devto/articles/1185937.json",
      "tags": [
        "yugabytedb",
        "docker",
        "compose",
        "nakama"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1180019",
      "title": "SingleStore compared to YugabyteDB",
      "published_at": "2022-09-05T20:19:35Z",
      "canonical_url": "https://dev.to/franckpachot/singlestore-compared-to-yugabytedb-jfp",
      "archive_path": "devto/articles/1180019.json",
      "tags": [
        "singlestore",
        "memsql",
        "yugabytedb",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1181276",
      "title": "Read local partition first, then global if not found locally",
      "published_at": "2022-09-01T09:23:51Z",
      "canonical_url": "https://dev.to/yugabyte/read-locally-first-then-global-on-not-found-3cdn",
      "archive_path": "devto/articles/1181276.json",
      "tags": [
        "sql",
        "distributed",
        "database",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1180281",
      "title": "Fixing Docker image vulnerabilities (with centos2ol.sh)",
      "published_at": "2022-08-31T09:58:20Z",
      "canonical_url": "https://dev.to/yugabyte/fixing-docker-image-vulnerabilities-with-centos2olsh-2ahc",
      "archive_path": "devto/articles/1180281.json",
      "tags": [
        "docker",
        "cve",
        "yugabytedb",
        "centos"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1179613",
      "title": "YugabyteDB in a Micro VM with no network",
      "published_at": "2022-08-30T12:41:35Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-in-a-micro-vm-with-no-network-3ac3",
      "archive_path": "devto/articles/1179613.json",
      "tags": [
        "yugabytedb",
        "microvm",
        "firecracker",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "24061",
      "title": "Comparing the Maximum Availability of YugabyteDB and Oracle Database",
      "published_at": "2022-08-25T14:21:07",
      "canonical_url": "https://www.yugabyte.com/blog/comparing-the-maximum-availability-of-yugabytedb-and-oracle-database/",
      "archive_path": "yugabyte/articles/24061.json",
      "tags": [
        "Distributed SQL",
        "Oracle",
        "PostgreSQL",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1174307",
      "title": "pg_hint_plan with subqueries",
      "published_at": "2022-08-23T15:44:19Z",
      "canonical_url": "https://dev.to/aws-heroes/pghintplan-with-subqueries-47nm",
      "archive_path": "devto/articles/1174307.json",
      "tags": [
        "postgres",
        "pghintplan",
        "sql",
        "join"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1171212",
      "title": "Parallelizing aggregates in YugabyteDB",
      "published_at": "2022-08-19T10:47:31Z",
      "canonical_url": "https://dev.to/yugabyte/parallelizing-aggregates-in-yugabytedb-3eak",
      "archive_path": "devto/articles/1171212.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "count"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1170852",
      "title": "Fastest start of YugabyteDB for a small lab",
      "published_at": "2022-08-18T22:05:00Z",
      "canonical_url": "https://dev.to/yugabyte/fastest-start-of-yugabytedb-for-a-small-lab-283a",
      "archive_path": "devto/articles/1170852.json",
      "tags": [
        "yugabytedb",
        "microvm",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1164221",
      "title": "Bookmarklet for YugabyteDB table's tablets",
      "published_at": "2022-08-10T16:52:00Z",
      "canonical_url": "https://dev.to/yugabyte/bookmarklet-for-yugabytedb-tables-tablets-1o6h",
      "archive_path": "devto/articles/1164221.json",
      "tags": [
        "yugabytedb",
        "css",
        "distrtibuted",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1156074",
      "title": "Embedded FerretDB with YugabyteDB: MongoDB API on distributed SQL 🚀☁",
      "published_at": "2022-07-31T21:13:00Z",
      "canonical_url": "https://dev.to/yugabyte/embedded-ferretdb-with-yugabytedb-mongodb-api-on-distributed-sql-jbi",
      "archive_path": "devto/articles/1156074.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "mongodb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1150878",
      "title": "Loose Index Scan aka Skip Scan in PostgreSQL 🐘🚀",
      "published_at": "2022-07-26T18:43:00Z",
      "canonical_url": "https://dev.to/yugabyte/loose-index-scan-aka-skip-scan-in-postgresql-1jfo",
      "archive_path": "devto/articles/1150878.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "skipscan",
        "looseindex"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1151087",
      "title": "🟩🚀 Draxlr SQL query/dashboard builder on YugabyteDB managed",
      "published_at": "2022-07-25T16:08:19Z",
      "canonical_url": "https://dev.to/yugabyte/draxlr-sql-querydashboard-builder-on-yugabytedb-managed-4ngk",
      "archive_path": "devto/articles/1151087.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1141117",
      "title": "Default tablet splitting in YugabyteDB 🚀",
      "published_at": "2022-07-25T06:13:00Z",
      "canonical_url": "https://dev.to/yugabyte/default-tablet-splitting-in-yugabytedb-4lnf",
      "archive_path": "devto/articles/1141117.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1145862",
      "title": "📜 select * from 🚀 logfile with 🐘 file_fdw",
      "published_at": "2022-07-20T19:39:06Z",
      "canonical_url": "https://dev.to/franckpachot/select-from-logfile-with-filefdw-13eb",
      "archive_path": "devto/articles/1145862.json",
      "tags": [
        "yugabytedb",
        "troubleshooting",
        "logfile",
        "fdw"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1143774",
      "title": "YugabyteDB cardinality estimation in the absence of ANALYZE statistics",
      "published_at": "2022-07-20T07:26:00Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-cardinality-estimation-in-the-absence-of-analyze-statistics-1c1k",
      "archive_path": "devto/articles/1143774.json",
      "tags": [
        "yugabytedb",
        "optimizer",
        "planner",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1142896",
      "title": "IoT benchmark on Distributed SQL from MaibornWolff on AWS EKS",
      "published_at": "2022-07-18T16:20:00Z",
      "canonical_url": "https://dev.to/aws-heroes/iot-benchmark-on-distributed-sql-from-maibornwolff-on-aws-eks-3ag8",
      "archive_path": "devto/articles/1142896.json",
      "tags": [
        "yugabytedb",
        "iot",
        "postgres",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1143494",
      "title": "⏳ Timing database calls to 🐘PostgreSQL or 🚀YugabyteDB (strace)",
      "published_at": "2022-07-18T09:05:07Z",
      "canonical_url": "https://dev.to/yugabyte/timing-database-calls-to-postgresql-or-yugabytedb-strace-28ij",
      "archive_path": "devto/articles/1143494.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "troubleshooting",
        "strace"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1141384",
      "title": "🚀 YSQL-DocDB calls with yb_debug_log_docdb_requests",
      "published_at": "2022-07-15T15:01:16Z",
      "canonical_url": "https://dev.to/franckpachot/ysql-docdb-calls-with-ybdebuglogdocdbrequests-127b",
      "archive_path": "devto/articles/1141384.json",
      "tags": [
        "yugabytedb",
        "troubleshooting",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1138293",
      "title": "access the local partition only in 🚀 YugabyteDB geo-partitioned tables",
      "published_at": "2022-07-13T17:21:24Z",
      "canonical_url": "https://dev.to/yugabyte/access-the-local-partition-only-in-yugabytedb-geo-partitioned-tables-1df6",
      "archive_path": "devto/articles/1138293.json",
      "tags": [
        "yugabyted",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1139348",
      "title": "find the partition key with a duplicate covering index local read",
      "published_at": "2022-07-13T17:15:18Z",
      "canonical_url": "https://dev.to/yugabyte/find-the-region-without-partition-key-with-a-local-read-in-yugabytedb-geo-partitioned-tables-lm3",
      "archive_path": "devto/articles/1139348.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1134643",
      "title": "JPA and PostgreSQL text",
      "published_at": "2022-07-07T18:46:30Z",
      "canonical_url": "https://dev.to/yugabyte/jpa-and-postgresql-text-2ma6",
      "archive_path": "devto/articles/1134643.json",
      "tags": [
        "postgres",
        "jpa",
        "hibernate",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1123126",
      "title": "The YugabyteDB configuration parameters (GFLAGs and GUCs)",
      "published_at": "2022-07-05T10:53:52Z",
      "canonical_url": "https://dev.to/franckpachot/the-yugabytedb-configuration-parameters-gflags-and-gucs-l31",
      "archive_path": "devto/articles/1123126.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1131623",
      "title": "Optimizing Nested Loop joins on YugabyteDB with jOOQ",
      "published_at": "2022-07-04T16:28:17Z",
      "canonical_url": "https://dev.to/yugabyte/optimizing-nested-loop-joins-on-yugabytedb-with-jooq-keg",
      "archive_path": "devto/articles/1131623.json",
      "tags": [
        "yugabytedb",
        "jooq",
        "sql",
        "distributed"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1124310",
      "title": "geo-distribution with 🚀 YugabyteDB tablespaces",
      "published_at": "2022-06-30T09:55:04Z",
      "canonical_url": "https://dev.to/yugabyte/geo-distribution-with-yugabytedb-tablespaces-4ko6",
      "archive_path": "devto/articles/1124310.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1123590",
      "title": "Local reads from 🚀YugabyteDB Read Replicas",
      "published_at": "2022-06-27T08:08:36Z",
      "canonical_url": "https://dev.to/yugabyte/local-reads-from-yugabytedb-read-replicas-5bg5",
      "archive_path": "devto/articles/1123590.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1123831",
      "title": "Local reads from 🚀YugabyteDB raft followers",
      "published_at": "2022-06-27T07:15:39Z",
      "canonical_url": "https://dev.to/yugabyte/local-reads-from-yugabytedb-raft-followers-5mk",
      "archive_path": "devto/articles/1123831.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1119122",
      "title": "🚀 hash+hash partitioning+sharding",
      "published_at": "2022-06-22T06:39:06Z",
      "canonical_url": "https://dev.to/yugabyte/hashhash-partitioningsharding-256a",
      "archive_path": "devto/articles/1119122.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "23276",
      "title": "Distributed SQL Sharding: How Many Tablets and at What Size?",
      "published_at": "2022-06-17T13:53:03",
      "canonical_url": "https://www.yugabyte.com/blog/distributed-sql-sharding-how-many-tablets-size/",
      "archive_path": "yugabyte/articles/23276.json",
      "tags": [
        "Data Sharding",
        "Distributed SQL",
        "How It Works",
        "Open Source",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1114705",
      "title": "(beta) yugabyted GUI",
      "published_at": "2022-06-15T08:55:24Z",
      "canonical_url": "https://dev.to/yugabyte/beta-yugabyted-gui-3i4m",
      "archive_path": "devto/articles/1114705.json",
      "tags": [
        "yugabytedb",
        "cloud",
        "gui",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1113679",
      "title": "PITR snapshot: an easy continuous backup / flashback / backtrack for application releases",
      "published_at": "2022-06-14T20:30:05Z",
      "canonical_url": "https://dev.to/yugabyte/pitr-snapshot-an-easy-flashback-backtrack-for-application-releases-3cn6",
      "archive_path": "devto/articles/1113679.json",
      "tags": [
        "yugabytedb",
        "cicd",
        "snapshot",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1111824",
      "title": "Nested Loop performance in YugabyteDB",
      "published_at": "2022-06-12T20:43:07Z",
      "canonical_url": "https://dev.to/yugabyte/nested-loop-performance-in-yugabytedb-g1i",
      "archive_path": "devto/articles/1111824.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1108700",
      "title": "Predictable plans with pg_hint_plan full hinting",
      "published_at": "2022-06-09T07:17:17Z",
      "canonical_url": "https://dev.to/yugabyte/predictable-plans-with-pghintplan-full-hinting-1do3",
      "archive_path": "devto/articles/1108700.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "hints"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1107131",
      "title": "Quickly get short stack from a YugabyteDB tserver",
      "published_at": "2022-06-07T13:01:04Z",
      "canonical_url": "https://dev.to/yugabyte/quickly-get-short-stack-from-a-yugabytedb-tserver-2j03",
      "archive_path": "devto/articles/1107131.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1106580",
      "title": "YugabyteDB range sharding: ASC or DESC? (Backward Scan in🚀)",
      "published_at": "2022-06-07T08:27:51Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-range-sharding-asc-or-desc-57bn",
      "archive_path": "devto/articles/1106580.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1103903",
      "title": "ERROR: Timed out: BackfillIndex RPC",
      "published_at": "2022-06-03T15:41:33Z",
      "canonical_url": "https://dev.to/yugabyte/error-timed-out-backfillindex-rpc-2eg3",
      "archive_path": "devto/articles/1103903.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1103069",
      "title": "Build a PostgreSQL Docker image with pg_hint_plan and pg_stat_statements",
      "published_at": "2022-06-03T06:37:03Z",
      "canonical_url": "https://dev.to/yugabyte/build-a-postgresql-docker-image-with-pghintplan-and-pgstatstatements-46pa",
      "archive_path": "devto/articles/1103069.json",
      "tags": [
        "postgres",
        "docker",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1073580",
      "title": "YugabyteDB Predicate Push Down",
      "published_at": "2022-06-02T08:18:54Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-predicate-push-down-pbb",
      "archive_path": "devto/articles/1073580.json",
      "tags": [
        "yugabytedb",
        "sql",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1080734",
      "title": "1 million rows insert",
      "published_at": "2022-06-01T17:22:53Z",
      "canonical_url": "https://dev.to/yugabyte/1-million-rows-insert-59c8",
      "archive_path": "devto/articles/1080734.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1101473",
      "title": "🔓 tracing writes and locks in YugabyteDB",
      "published_at": "2022-06-01T09:43:45Z",
      "canonical_url": "https://dev.to/franckpachot/tracing-writes-and-locks-in-yugabytedb-3gbh",
      "archive_path": "devto/articles/1101473.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "lock"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1099799",
      "title": "Parsing YugabyteDB version()",
      "published_at": "2022-05-30T16:26:02Z",
      "canonical_url": "https://dev.to/yugabyte/parsing-yugabytedb-version-m4o",
      "archive_path": "devto/articles/1099799.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1097668",
      "title": "pg_stat_statements in YugabyteDB",
      "published_at": "2022-05-27T18:14:26Z",
      "canonical_url": "https://dev.to/yugabyte/pgstatstatements-in-yugabytedb-5871",
      "archive_path": "devto/articles/1097668.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "monitoring",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1097372",
      "title": "PostgreSQL: An example of using WITH clauses to decompose the problem",
      "published_at": "2022-05-27T08:26:16Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-an-example-of-using-with-clauses-to-decompose-the-problem-316o",
      "archive_path": "devto/articles/1097372.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "cte"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1091790",
      "title": "\"I want to try it\" 🚀 YugabyteDB at KubeCon",
      "published_at": "2022-05-21T07:09:08Z",
      "canonical_url": "https://dev.to/yugabyte/i-want-to-try-it-yugabytedb-at-kubecon-3cm7",
      "archive_path": "devto/articles/1091790.json",
      "tags": [
        "kubecon",
        "distributed",
        "sql",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1086767",
      "title": "🐘OID <-> 🚀table_id",
      "published_at": "2022-05-16T09:25:32Z",
      "canonical_url": "https://dev.to/yugabyte/oid-tableid-53dh",
      "archive_path": "devto/articles/1086767.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1079172",
      "title": "🚀 YugabyteDB on fly.io - I - yugabyted",
      "published_at": "2022-05-08T20:05:37Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-on-flyio-i-yugabyted-2eo7",
      "archive_path": "devto/articles/1079172.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1075196",
      "title": "docker-compose.yaml to start YugabyteDB with POSTGRES_USER POSTGRES_PASSWORD POSTGRES_DB env",
      "published_at": "2022-05-04T14:37:19Z",
      "canonical_url": "https://dev.to/yugabyte/docker-composeyaml-to-start-yugabytedb-with-postgresuser-postgrespassword-postgresdb-env-4do3",
      "archive_path": "devto/articles/1075196.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "docker",
        "compose"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1070871",
      "title": "🐘🚀 Update/Insert/Soft-Delete from a JSON payload",
      "published_at": "2022-04-29T15:33:06Z",
      "canonical_url": "https://dev.to/yugabyte/updateinsertsoft-delete-from-a-json-payload-4l0",
      "archive_path": "devto/articles/1070871.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1066892",
      "title": "Read Committed is a must for Postgres-compatible distributed SQL databases",
      "published_at": "2022-04-29T09:18:52Z",
      "canonical_url": "https://dev.to/yugabyte/read-committed-is-a-must-for-postgres-compatible-distributed-sql-databases-59pf",
      "archive_path": "devto/articles/1066892.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1061480",
      "title": "cluster-aware psycopg2 🚀",
      "published_at": "2022-04-21T10:14:46Z",
      "canonical_url": "https://dev.to/franckpachot/cluster-aware-psycopg2-405i",
      "archive_path": "devto/articles/1061480.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "python"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1057256",
      "title": "Soft delete cascade in PostgreSQL🐘 and YugabyteDB🚀",
      "published_at": "2022-04-17T22:15:56Z",
      "canonical_url": "https://dev.to/yugabyte/soft-delete-cascade-in-postgresql-and-yugabytedb-166n",
      "archive_path": "devto/articles/1057256.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1046260",
      "title": "The cost of OKE for YugabyteDB - 4 - Explore the cost",
      "published_at": "2022-04-11T15:41:36Z",
      "canonical_url": "https://dev.to/yugabyte/the-cost-of-oke-for-yugabytedb-4-explore-the-cost-4k9a",
      "archive_path": "devto/articles/1046260.json",
      "tags": [
        "yugabytedb",
        "kubernetes",
        "oracle",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1046257",
      "title": "The cost of OKE for YugabyteDB - 3 - Run a workload",
      "published_at": "2022-04-11T14:54:04Z",
      "canonical_url": "https://dev.to/yugabyte/the-cost-of-oke-for-yugabytedb-3-run-a-workload-pp7",
      "archive_path": "devto/articles/1046257.json",
      "tags": [
        "yugabytedb",
        "kubernetes",
        "oracle",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1046241",
      "title": "The cost of OKE for YugabyteDB - 2 - Install from Helm chart",
      "published_at": "2022-04-11T14:45:56Z",
      "canonical_url": "https://dev.to/yugabyte/the-cost-of-oke-for-yugabytedb-2-install-from-helm-chart-b7l",
      "archive_path": "devto/articles/1046241.json",
      "tags": [
        "yugabytedb",
        "kubernetes",
        "oracle",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1046231",
      "title": "The cost of OKE for YugabyteDB - 1 Create the cluster",
      "published_at": "2022-04-11T14:38:54Z",
      "canonical_url": "https://dev.to/yugabyte/the-cost-of-oke-for-yugabytedb-1-create-the-cluster-53m2",
      "archive_path": "devto/articles/1046231.json",
      "tags": [
        "yugabytedb",
        "kubernetes",
        "oracle",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1031715",
      "title": "Index Skip Scan in YugabyteDB 🚀🐘",
      "published_at": "2022-04-04T10:35:38Z",
      "canonical_url": "https://dev.to/yugabyte/index-skip-scan-in-yugabytedb-2ao2",
      "archive_path": "devto/articles/1031715.json",
      "tags": [
        "postgres",
        "yugabyted",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1041772",
      "title": "Directus on YugabyteDB",
      "published_at": "2022-04-01T16:05:02Z",
      "canonical_url": "https://dev.to/yugabyte/directus-on-yugabytedb-4fpl",
      "archive_path": "devto/articles/1041772.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "postgres",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1027438",
      "title": "PostgreSQL GIN + B-Tree",
      "published_at": "2022-03-19T22:52:07Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-gin-b-tree-25en",
      "archive_path": "devto/articles/1027438.json",
      "tags": [
        "postgres",
        "gin",
        "btree",
        "index"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "971391",
      "title": "Efficient pagination in YugabyteDB & PostgreSQL 📃🐘🚀",
      "published_at": "2022-03-18T10:07:05Z",
      "canonical_url": "https://dev.to/yugabyte/efficient-pagination-in-yugabytedb-postgresql-4h5a",
      "archive_path": "devto/articles/971391.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "pagination",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1023208",
      "title": "Serverless DB connections: Lambda to YugabyteDB 🚀",
      "published_at": "2022-03-16T22:11:09Z",
      "canonical_url": "https://dev.to/yugabyte/serverless-db-connections-lambda-to-yugabytedb-4m09",
      "archive_path": "devto/articles/1023208.json",
      "tags": [
        "yugabytedb",
        "lambda",
        "serverless",
        "distributedsystems"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1020857",
      "title": "PostgreSQL index partition in same tablespace as table",
      "published_at": "2022-03-13T20:38:26Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-index-partition-in-same-tablespace-as-table-2hak",
      "archive_path": "devto/articles/1020857.json",
      "tags": [
        "postgres",
        "tablespace",
        "partition",
        "index"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "6106",
      "title": "How Does YugabyteDB’s Two-Layer Architecture Work?",
      "published_at": "2022-03-10T21:33:06",
      "canonical_url": "https://www.yugabyte.com/blog/distributed-sql-yugabytedb-two-layer-architecture/",
      "archive_path": "yugabyte/articles/6106.json",
      "tags": [
        "DocDB",
        "How It Works",
        "Open Source",
        "PostgreSQL Compatibility",
        "YSQL",
        "YugabyteDB",
        "YugabyteDB Architecture"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1017825",
      "title": "Avoiding hotspots in pgbench on PostgreSQL or YugabyteDB",
      "published_at": "2022-03-10T09:57:21Z",
      "canonical_url": "https://dev.to/yugabyte/avoiding-hotspots-in-pgbench-on-or-38lk",
      "archive_path": "devto/articles/1017825.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1008233",
      "title": "PostgreSQL on ARM: default page size matters",
      "published_at": "2022-03-04T11:27:09Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-on-arm-default-page-size-matters-2n7a",
      "archive_path": "devto/articles/1008233.json",
      "tags": [
        "postgres",
        "graviton",
        "arm",
        "pagesize"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1004067",
      "title": "YugabyteDB on Public network 🚀🌐",
      "published_at": "2022-03-01T22:20:00Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-on-public-network-53g5",
      "archive_path": "devto/articles/1004067.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1005089",
      "title": "Computed columns in PostgreSQL 🐘 / YugabyteDB🚀",
      "published_at": "2022-03-01T14:02:10Z",
      "canonical_url": "https://dev.to/franckpachot/computed-columns-in-postgresql-yugabytedb-586l",
      "archive_path": "devto/articles/1005089.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "1001200",
      "title": "Which 🐘PostgreSQL problems are solved with 🚀YugabyteDB",
      "published_at": "2022-02-25T11:16:41Z",
      "canonical_url": "https://dev.to/yugabyte/which-postgresql-problems-are-solved-with-yugabytedb-2gm",
      "archive_path": "devto/articles/1001200.json",
      "tags": [
        "yugabytedb",
        "sql",
        "database",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "956814",
      "title": "Reference Tables as duplicate covering indexes",
      "published_at": "2022-02-23T19:47:19Z",
      "canonical_url": "https://dev.to/yugabyte/reference-tables-as-duplicate-covering-indexes-2j4l",
      "archive_path": "devto/articles/956814.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "997511",
      "title": "🔶🚀 YugabyteDB on Amazon EKS",
      "published_at": "2022-02-23T10:30:44Z",
      "canonical_url": "https://dev.to/aws-heroes/yugabytedb-on-amazon-eks-3206",
      "archive_path": "devto/articles/997511.json",
      "tags": [
        "aws",
        "yugabytedb",
        "kubernetes",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "993459",
      "title": "Table size in YugabyteDB, PostgreSQL and Oracle 🅾🐘🚀",
      "published_at": "2022-02-18T17:25:40Z",
      "canonical_url": "https://dev.to/yugabyte/table-size-in-yugabytedb-postgresql-and-oracle-19m",
      "archive_path": "devto/articles/993459.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "oracle",
        "size"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "992650",
      "title": "SQLcl to transfer data from Oracle to PostgreSQL or YugabyteDB 🅾🐘🚀",
      "published_at": "2022-02-17T18:08:13Z",
      "canonical_url": "https://dev.to/yugabyte/sqlcl-to-transfer-data-from-oracle-to-postgresql-or-yugabytedb-lha",
      "archive_path": "devto/articles/992650.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "oracle",
        "csv"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "992063",
      "title": "YugabyteDB table_id UUID for PostgreSQL tables",
      "published_at": "2022-02-17T15:03:10Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-tableid-uuid-for-postgresql-tables-2f8c",
      "archive_path": "devto/articles/992063.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "983132",
      "title": "Most recent record (of many items) with YugabyteDB 🚀",
      "published_at": "2022-02-09T18:04:00Z",
      "canonical_url": "https://dev.to/franckpachot/most-recent-record-of-many-items-with-yugabytedb-1gl3",
      "archive_path": "devto/articles/983132.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "distributed",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "983472",
      "title": "YBDemo: simple 💻 demo lab for YugabyteDB with Java client and Docker🚀☕🐳🐘",
      "published_at": "2022-02-09T08:14:44Z",
      "canonical_url": "https://dev.to/yugabyte/ybdemo-simple-demo-lab-for-yugabytedb-with-java-client-and-docker-servers-36ao",
      "archive_path": "devto/articles/983472.json",
      "tags": [
        "yugabytedb",
        "docker",
        "jdbc",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "967631",
      "title": "REST Data Service on YugabyteDB / PostgreSQL with PostgREST",
      "published_at": "2022-02-07T21:22:47Z",
      "canonical_url": "https://dev.to/yugabyte/rest-data-service-on-yugabytedb-postgresql-5f2h",
      "archive_path": "devto/articles/967631.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "rest",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "980077",
      "title": "Retry logic for optimistic locking and transparent failover 🐘🚀",
      "published_at": "2022-02-07T11:34:45Z",
      "canonical_url": "https://dev.to/yugabyte/retry-logic-for-optimistic-locking-and-transparent-failover-389o",
      "archive_path": "devto/articles/980077.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "optimistic",
        "retry"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "968469",
      "title": "Delete table and column statistics in PostgreSQL or YugabyteDB 🐘🚀",
      "published_at": "2022-01-26T16:12:27Z",
      "canonical_url": "https://dev.to/franckpachot/delete-column-statistics-in-postgresql-or-yugabytedb-37i3",
      "archive_path": "devto/articles/968469.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "5678",
      "title": "YugabyteDB Migration: What About Those 19 Oracle Features I Thought I Would Miss?",
      "published_at": "2022-01-19T14:06:36",
      "canonical_url": "https://www.yugabyte.com/blog/oracle-versus-yugabytedb/",
      "archive_path": "yugabyte/articles/5678.json",
      "tags": [
        "Database Migration",
        "Distributed SQL",
        "Oracle",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "957470",
      "title": "Maintain a duplicate covering index in a region",
      "published_at": "2022-01-18T21:29:49Z",
      "canonical_url": "https://dev.to/yugabyte/maintain-a-duplicate-covering-index-in-a-region-29k4",
      "archive_path": "devto/articles/957470.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "954094",
      "title": "Quick 📊 on 🐘 active SQL from pg_stat_activity",
      "published_at": "2022-01-14T15:08:35Z",
      "canonical_url": "https://dev.to/yugabyte/quick-on-active-sql-from-pgstatactivity-27hi",
      "archive_path": "devto/articles/954094.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "945303",
      "title": "Scaling Token Buckets Rate limiting with YugabyteDB",
      "published_at": "2022-01-06T17:42:53Z",
      "canonical_url": "https://dev.to/yugabyte/scaling-token-buckets-rate-limiting-with-yugabytedb-4p1o",
      "archive_path": "devto/articles/945303.json",
      "tags": [
        "yugabytedb",
        "sql",
        "distributed",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "943416",
      "title": "Optimistic or Pessimistic locking for Token Buckets Rate limiting in PostgreSQL",
      "published_at": "2022-01-06T17:42:07Z",
      "canonical_url": "https://dev.to/aws-heroes/optimistic-or-pessimistic-locking-for-token-buckets-rate-limiting-in-postgresql-4om5",
      "archive_path": "devto/articles/943416.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "serializable"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "943310",
      "title": "YugabyteDB JDBC Smart Driver for proxyless HA/LB",
      "published_at": "2022-01-04T14:48:41Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-jdbc-smart-driver-for-proxyless-halb-2k8a",
      "archive_path": "devto/articles/943310.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "932612",
      "title": "PostgreSQL Bitmap Scan with GIN indexes on Array or Secondary Table with Index Only Scan",
      "published_at": "2022-01-03T21:04:59Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-bitmap-scan-with-gin-indexes-on-array-or-secondary-table-with-index-only-scan-23fl",
      "archive_path": "devto/articles/932612.json",
      "tags": [
        "postgres",
        "sql",
        "database",
        "array"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "942695",
      "title": "Rate limiting with PostgreSQL / YugabyteDB (token buckets function)",
      "published_at": "2022-01-03T14:30:14Z",
      "canonical_url": "https://dev.to/yugabyte/rate-limiting-with-postgresql-yugabytedb-token-buckets-function-5dh8",
      "archive_path": "devto/articles/942695.json",
      "tags": [
        "yugabytedb",
        "sql",
        "distributed",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "942754",
      "title": "SQL to avoid data corruption in race conditions with SERIALIZABLE 🐘 🚀",
      "published_at": "2022-01-02T22:52:10Z",
      "canonical_url": "https://dev.to/yugabyte/sql-to-avoid-data-corruption-in-race-conditions-with-serializable-n5c",
      "archive_path": "devto/articles/942754.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "5530",
      "title": "Multi-Cloud Distributed SQL: Avoiding Region Failure with YugabyteDB",
      "published_at": "2021-12-22T14:20:37",
      "canonical_url": "https://www.yugabyte.com/blog/avoiding-region-failure-with-multi-cloud-distributed-sql/",
      "archive_path": "yugabyte/articles/5530.json",
      "tags": [
        "AWS",
        "Cloud Providers",
        "Databases",
        "Distributed SQL",
        "Multi-cloud",
        "Open Source",
        "Yugabyte Platform",
        "YugabyteDB"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "930622",
      "title": "🐘🚀 Triggers & Stored Procedures for pure data integrity logic and performance",
      "published_at": "2021-12-21T21:39:21Z",
      "canonical_url": "https://dev.to/yugabyte/triggers-stored-procedures-for-pure-data-integrity-logic-and-performance-1eh8",
      "archive_path": "devto/articles/930622.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "928620",
      "title": "How to write SQL recursive CTE in 5 steps",
      "published_at": "2021-12-17T16:53:04Z",
      "canonical_url": "https://dev.to/yugabyte/learn-how-to-write-sql-recursive-cte-in-5-steps-3n88",
      "archive_path": "devto/articles/928620.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "920737",
      "title": "Quick 📸 on 🐘 active SQL from pg_stat_statements",
      "published_at": "2021-12-08T10:06:44Z",
      "canonical_url": "https://dev.to/yugabyte/quick-on-active-sql-from-pgstatstatements-4e4h",
      "archive_path": "devto/articles/920737.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "918508",
      "title": "⏱ Read from the nearest peer in a multi-region database 🚀 with followers read",
      "published_at": "2021-12-07T21:28:57Z",
      "canonical_url": "https://dev.to/franckpachot/read-from-the-nearest-peer-in-a-multi-region-database-with-followers-read-59d9",
      "archive_path": "devto/articles/918508.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "918949",
      "title": "\"Rows Removed by Index Recheck\" on YugabyteDB Index Scan",
      "published_at": "2021-12-06T21:45:02Z",
      "canonical_url": "https://dev.to/yugabyte/rows-removed-by-index-recheck-on-yugabytedb-index-scan-38aj",
      "archive_path": "devto/articles/918949.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "914416",
      "title": "🌎🌍🌏 Yugabyte cross-continent deployment 🚀",
      "published_at": "2021-12-01T22:12:50Z",
      "canonical_url": "https://dev.to/yugabyte/yugabyte-cross-continent-deployment-b7i",
      "archive_path": "devto/articles/914416.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "870474",
      "title": "Yugabyte COPY batch size",
      "published_at": "2021-11-30T21:41:48Z",
      "canonical_url": "https://dev.to/yugabyte/yugabyte-copy-batch-size-25hh",
      "archive_path": "devto/articles/870474.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "910840",
      "title": "Text Search example with the OMDB sample database",
      "published_at": "2021-11-29T17:42:14Z",
      "canonical_url": "https://dev.to/yugabyte/text-search-example-with-the-omdb-sample-database-5e4l",
      "archive_path": "devto/articles/910840.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "904630",
      "title": "Query PostgreSQL, or any 🐘-compatible like Amazon Redshift, from YugabyteDB 🚀 thanks to Postgres FDW",
      "published_at": "2021-11-22T14:58:28Z",
      "canonical_url": "https://dev.to/aws-heroes/query-postgresql-or-any-compatible-like-amazon-redshift-from-yugabytedb-thanks-to-postgres-fdw-18l3",
      "archive_path": "devto/articles/904630.json",
      "tags": [
        "yugabytedb",
        "redshift",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "904628",
      "title": "Distributed SQL Essentials: Sharding and Partitioning in YugabyteDB",
      "published_at": "2021-11-21T22:53:45Z",
      "canonical_url": "https://blog.yugabyte.com/distributed-sql-essentials-sharding-and-partitioning-in-yugabytedb/",
      "archive_path": "devto/articles/904628.json",
      "tags": [
        "yugabytedb",
        "distributed",
        "sql",
        "webdev"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "5301",
      "title": "Distributed SQL: Sharding and Partitioning in YugabyteDB",
      "published_at": "2021-11-19T16:00:00",
      "canonical_url": "https://www.yugabyte.com/blog/distributed-sql-essentials-sharding-and-partitioning-in-yugabytedb/",
      "archive_path": "yugabyte/articles/5301.json",
      "tags": [
        "Data Sharding",
        "Databases",
        "Distributed SQL",
        "Partitioning"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "901228",
      "title": "kokizzu/hugedbbench",
      "published_at": "2021-11-19T11:02:42Z",
      "canonical_url": "https://dev.to/franckpachot/kokizzuhugedbbench-fmg",
      "archive_path": "devto/articles/901228.json",
      "tags": [
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "898249",
      "title": "ORDER BY is mandatory in SQL to get a sorted result",
      "published_at": "2021-11-15T18:24:55Z",
      "canonical_url": "https://dev.to/franckpachot/order-by-is-mandatory-in-sql-to-get-a-sorted-result-3pmk",
      "archive_path": "devto/articles/898249.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "891286",
      "title": "🚀 Think about Primary Key & Indexes before anything else 🐘",
      "published_at": "2021-11-07T22:30:04Z",
      "canonical_url": "https://dev.to/yugabyte/think-about-primary-key-indexes-before-anything-else-o5m",
      "archive_path": "devto/articles/891286.json",
      "tags": [
        "yugabytedb",
        "database",
        "postgres",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "885995",
      "title": "Open-source🍃MongoDB API to 🚀YugabyteDB with 🥭MangoDB proxy",
      "published_at": "2021-11-03T13:59:00Z",
      "canonical_url": "https://dev.to/yugabyte/open-sourcemongodb-api-to-yugabytedb-with-mangodb-proxy-22ka",
      "archive_path": "devto/articles/885995.json",
      "tags": [
        "yugabytedb",
        "mongodb",
        "ferretdb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "879782",
      "title": "COPY progression in YugabyteDB",
      "published_at": "2021-10-28T14:19:15Z",
      "canonical_url": "https://dev.to/yugabyte/copy-progression-in-yugabytedb-4ghb",
      "archive_path": "devto/articles/879782.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "copy",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "870484",
      "title": "Boost Secondary Index Queries with Index Only Scan",
      "published_at": "2021-10-20T21:20:21Z",
      "canonical_url": "https://blog.yugabyte.com/how-a-distributed-sql-database-boosts-secondary-index-queries-with-index-only-scan/",
      "archive_path": "devto/articles/870484.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "index",
        "sql"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "5096",
      "title": "How a Distributed SQL Database Boosts Secondary Index Queries with Index Only Scan",
      "published_at": "2021-10-14T15:00:00",
      "canonical_url": "https://www.yugabyte.com/blog/how-a-distributed-sql-database-boosts-secondary-index-queries-with-index-only-scan/",
      "archive_path": "yugabyte/articles/5096.json",
      "tags": [
        "Databases",
        "Distributed SQL",
        "Secondary Indexes"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "852920",
      "title": "CREATE INDEX in YugabyteDB: online or fast?",
      "published_at": "2021-10-07T09:57:06Z",
      "canonical_url": "https://dev.to/yugabyte/create-index-in-yugabytedb-online-or-fast-2dl3",
      "archive_path": "devto/articles/852920.json",
      "tags": [
        "yugabytedb",
        "database",
        "index",
        "create"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "850175",
      "title": "hyper-scale multi-tenant for SaaS: an example with pgbench",
      "published_at": "2021-10-04T16:50:05Z",
      "canonical_url": "https://dev.to/yugabyte/hyper-scale-multi-tenant-for-saas-an-example-with-pgbench-33a3",
      "archive_path": "devto/articles/850175.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "pgbench",
        "saas"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "816390",
      "title": "Bulk load into PostgreSQL / YugabyteDB - psycopg2",
      "published_at": "2021-09-28T19:49:16Z",
      "canonical_url": "https://dev.to/yugabyte/bulk-load-into-postgresql-yugabytedb-psycopg2-fep",
      "archive_path": "devto/articles/816390.json",
      "tags": [
        "postgres",
        "python",
        "database",
        "copy"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "844066",
      "title": "The cost and benefit of synchronous replication in PostgreSQL and YugabyteDB",
      "published_at": "2021-09-28T16:25:56Z",
      "canonical_url": "https://dev.to/yugabyte/the-cost-and-benefit-of-synchronous-replication-in-postgresql-and-yugabytedb-2ej0",
      "archive_path": "devto/articles/844066.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "database",
        "ha"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "836629",
      "title": "when you have millions of insert statements in a file...",
      "published_at": "2021-09-22T21:18:42Z",
      "canonical_url": "https://dev.to/yugabyte/when-you-have-millions-of-insert-statements-in-a-file-3nck",
      "archive_path": "devto/articles/836629.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "758157",
      "title": "YugabyteDB on OKE",
      "published_at": "2021-09-19T20:02:27Z",
      "canonical_url": "https://blog.yugabyte.com/yugabytedb-on-oke-oracle-cloud-kubernetes/",
      "archive_path": "devto/articles/758157.json",
      "tags": [
        "yugabytedb",
        "oraclecloud",
        "kubernetes",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "814368",
      "title": "Aurora PostgreSQL db.r6g compared to db.r5 with YBIO",
      "published_at": "2021-09-06T10:16:35Z",
      "canonical_url": "https://dev.to/aws-heroes/aurora-postgresql-db-r6g-compared-to-db-r5-with-ybio-1bnd",
      "archive_path": "devto/articles/814368.json",
      "tags": [
        "aws",
        "aurora",
        "postgres",
        "database"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "4719",
      "title": "YugabyteDB on OKE (Oracle Cloud Kubernetes)",
      "published_at": "2021-09-03T15:00:04",
      "canonical_url": "https://www.yugabyte.com/blog/yugabytedb-on-oke-oracle-cloud-kubernetes/",
      "archive_path": "yugabyte/articles/4719.json",
      "tags": [
        "How To",
        "Kubernetes",
        "OKE (Oracle Cloud Kubernetes)",
        "Yugabyte Platform"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "802855",
      "title": "Index Scan in YugabyteDB",
      "published_at": "2021-09-03T12:37:40Z",
      "canonical_url": "https://dev.to/yugabyte/index-scan-in-yugabytedb-5a2l",
      "archive_path": "devto/articles/802855.json",
      "tags": [
        "yugabytedb",
        "index",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "807319",
      "title": "UUID or cached sequences?",
      "published_at": "2021-08-30T07:41:47Z",
      "canonical_url": "https://dev.to/yugabyte/uuid-or-cached-sequences-42fi",
      "archive_path": "devto/articles/807319.json",
      "tags": [
        "database",
        "postgres",
        "sql",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "802266",
      "title": "Pressure Stall Information on CentOS7",
      "published_at": "2021-08-24T17:10:12Z",
      "canonical_url": "https://dev.to/aws-heroes/pressure-stall-information-on-centos7-1700",
      "archive_path": "devto/articles/802266.json",
      "tags": [
        "linux",
        "performance",
        "psi"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "801683",
      "title": "Index Only Scan on Functional Indexes",
      "published_at": "2021-08-24T09:08:34Z",
      "canonical_url": "https://dev.to/aws-heroes/index-only-scan-on-functional-indexes-9o2",
      "archive_path": "devto/articles/801683.json",
      "tags": [
        "postgres",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "800045",
      "title": "A kind of flashback query in PostgreSQL",
      "published_at": "2021-08-22T20:31:13Z",
      "canonical_url": "https://dev.to/aws-heroes/a-kind-of-flashback-query-in-postgresql-c02",
      "archive_path": "devto/articles/800045.json",
      "tags": [
        "postgres",
        "database",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "797140",
      "title": "pgbench --client --jobs",
      "published_at": "2021-08-19T17:40:15Z",
      "canonical_url": "https://dev.to/yugabyte/pgbench-client-jobs-68g",
      "archive_path": "devto/articles/797140.json",
      "tags": [
        "postgres",
        "pgbench"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "794165",
      "title": "usql on YugabyteDB",
      "published_at": "2021-08-17T17:37:40Z",
      "canonical_url": "https://dev.to/yugabyte/usql-on-yugabytedb-2fk4",
      "archive_path": "devto/articles/794165.json",
      "tags": [
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "782639",
      "title": "Visible number of cpu on OpenVZ and LXC",
      "published_at": "2021-08-05T17:44:35Z",
      "canonical_url": "https://dev.to/yugabyte/visible-number-of-cpu-on-openvz-2h7d",
      "archive_path": "devto/articles/782639.json",
      "tags": [
        "containers",
        "kubernetes",
        "openvz",
        "cpu"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "778187",
      "title": "VisiData to read JSON, HTML and YugabyteDB",
      "published_at": "2021-08-02T13:17:31Z",
      "canonical_url": "https://dev.to/yugabyte/visidata-to-read-json-html-and-yugabytedb-2ng1",
      "archive_path": "devto/articles/778187.json",
      "tags": [
        "visidata",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "774581",
      "title": "PostgreSQL prepared statements in PL/pgSQL",
      "published_at": "2021-07-28T19:56:55Z",
      "canonical_url": "https://dev.to/aws-heroes/postgresql-prepared-statements-in-pl-pgsql-jl3",
      "archive_path": "devto/articles/774581.json",
      "tags": [
        "postgres",
        "plpgsql",
        "prepared",
        "oltp"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "758912",
      "title": "Arctype connects to YugabyteDB",
      "published_at": "2021-07-28T19:01:28Z",
      "canonical_url": "https://blog.yugabyte.com/connecting-to-yugabytedb-with-arctype-a-collaborative-sql-client/",
      "archive_path": "devto/articles/758912.json",
      "tags": [
        "sql",
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "772358",
      "title": "SLOB on YugabyteDB",
      "published_at": "2021-07-27T09:37:53Z",
      "canonical_url": "https://dev.to/yugabyte/slob-on-yugabytedb-1a32",
      "archive_path": "devto/articles/772358.json",
      "tags": [
        "yugabytedb",
        "benchmark",
        "slob"
      ]
    },
    {
      "source": "yugabyte",
      "source_id": "4425",
      "title": "Connecting to YugabyteDB with Arctype, a Collaborative SQL Client",
      "published_at": "2021-07-23T15:00:00",
      "canonical_url": "https://www.yugabyte.com/blog/connecting-to-yugabytedb-with-arctype-a-collaborative-sql-client/",
      "archive_path": "yugabyte/articles/4425.json",
      "tags": [
        "Arctype",
        "Distributed SQL",
        "How To",
        "PostgreSQL",
        "Yugabyte Platform"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "754392",
      "title": "YugabyteDB on OCI Free Tier",
      "published_at": "2021-07-21T19:06:39Z",
      "canonical_url": "https://dev.to/yugabyte/yugabytedb-on-oci-free-tier-52cm",
      "archive_path": "devto/articles/754392.json",
      "tags": [
        "yugabytedb"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "763515",
      "title": "jOOQ on YugabyteDB",
      "published_at": "2021-07-19T15:05:39Z",
      "canonical_url": "https://dev.to/yugabyte/jooq-on-yugabytedb-2kl9",
      "archive_path": "devto/articles/763515.json",
      "tags": [
        "java",
        "yugabytedb",
        "jooq",
        "sql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "757068",
      "title": "HASH or RANGE in distributed databases",
      "published_at": "2021-07-14T06:38:32Z",
      "canonical_url": "https://dev.to/yugabyte/hash-or-range-on-distributed-databases-12cb",
      "archive_path": "devto/articles/757068.json",
      "tags": [
        "sql",
        "sharding",
        "yugabytedb",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "757965",
      "title": "READ COMMITTED anomalies in PostgreSQL",
      "published_at": "2021-07-13T10:39:01Z",
      "canonical_url": "https://dev.to/aws-heroes/read-committed-anomalies-in-postgresql-1ieg",
      "archive_path": "devto/articles/757965.json",
      "tags": [
        "database",
        "sql",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "751605",
      "title": "EXPLAIN ANALYZE on COUNT() pushdown",
      "published_at": "2021-07-08T07:02:55Z",
      "canonical_url": "https://dev.to/yugabyte/explain-analyze-on-count-pushdown-2978",
      "archive_path": "devto/articles/751605.json",
      "tags": [
        "yugabytedb",
        "postgres",
        "explain",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "748052",
      "title": "pg_hint_plan and single-table cardinality correction",
      "published_at": "2021-07-05T07:29:26Z",
      "canonical_url": "https://dev.to/yugabyte/pghintplan-and-single-table-cardinality-correction-3j45",
      "archive_path": "devto/articles/748052.json",
      "tags": [
        "postgres",
        "yugabytedb",
        "sql",
        "database"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "yugbytedb-on-oci-oke",
      "title": "Reduce the complexity: be sharing and open source",
      "published_at": "2021-06-27T20:26:28",
      "canonical_url": "https://www.dbi-services.com/blog/yugbytedb-on-oci-oke/",
      "archive_path": "dbi-services/articles/yugbytedb-on-oci-oke.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "see-you-on-polywork-an-new-linkedin",
      "title": "See you on Polywork (an new LinkedIn?)",
      "published_at": "2021-06-21T19:57:47",
      "canonical_url": "https://www.dbi-services.com/blog/see-you-on-polywork-an-new-linkedin/",
      "archive_path": "dbi-services/articles/see-you-on-polywork-an-new-linkedin.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cloud-cli",
      "title": "Cloud CLI",
      "published_at": "2021-05-30T18:40:08",
      "canonical_url": "https://www.dbi-services.com/blog/cloud-cli/",
      "archive_path": "dbi-services/articles/cloud-cli.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "712288",
      "title": "Amazon RDS Oracle in Multitenant",
      "published_at": "2021-05-29T18:29:39Z",
      "canonical_url": "https://blog.dbi-services.com/amazon-rds-oracle-in-multitenant/",
      "archive_path": "devto/articles/712288.json",
      "tags": [
        "rds",
        "oracle",
        "cdb",
        "multitenant"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "amazon-rds-oracle-in-multitenant",
      "title": "Amazon RDS Oracle in Multitenant",
      "published_at": "2021-05-26T13:25:29",
      "canonical_url": "https://www.dbi-services.com/blog/amazon-rds-oracle-in-multitenant/",
      "archive_path": "dbi-services/articles/amazon-rds-oracle-in-multitenant.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgresql-on-arm-oci",
      "title": "PostgreSQL on Oracle free tier ARM",
      "published_at": "2021-05-25T16:18:18",
      "canonical_url": "https://www.dbi-services.com/blog/postgresql-on-arm-oci/",
      "archive_path": "dbi-services/articles/postgresql-on-arm-oci.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-oci-arm-free",
      "title": "An always free 4 vCPU 3.0 GHz 24 GB RAM on OCI",
      "published_at": "2021-05-25T16:08:02",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-oci-arm-free/",
      "archive_path": "dbi-services/articles/oracle-oci-arm-free.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "702580",
      "title": "PostgreSQL on AWS Graviton2: CFLAGS",
      "published_at": "2021-05-19T09:02:06Z",
      "canonical_url": "https://blog.dbi-services.com/postgresql-on-aws-graviton2-cflags/",
      "archive_path": "devto/articles/702580.json",
      "tags": [
        "postgres",
        "database",
        "aarch64",
        "aws"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "postgresql-on-aws-graviton2-cflags",
      "title": "PostgreSQL on AWS Graviton2: CFLAGS",
      "published_at": "2021-05-17T22:14:50",
      "canonical_url": "https://www.dbi-services.com/blog/postgresql-on-aws-graviton2-cflags/",
      "archive_path": "dbi-services/articles/postgresql-on-aws-graviton2-cflags.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "698750",
      "title": "AWS Aurora vs. RDS PostgreSQL on frequent commits",
      "published_at": "2021-05-15T05:03:41Z",
      "canonical_url": "https://blog.dbi-services.com/aws-aurora-vs-rds-postgresql/",
      "archive_path": "devto/articles/698750.json",
      "tags": [
        "aws",
        "postgres",
        "aurora",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "698749",
      "title": "AWS Aurora IO:XactSync is not a PostgreSQL wait event",
      "published_at": "2021-05-15T05:02:02Z",
      "canonical_url": "https://blog.dbi-services.com/aws-aurora-xactsync-batch-commit/",
      "archive_path": "devto/articles/698749.json",
      "tags": [
        "aws",
        "postgres",
        "aurora",
        "database"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "698748",
      "title": "Oracle Standard Edition on AWS ☁ socket arithmetic",
      "published_at": "2021-05-15T04:59:02Z",
      "canonical_url": "https://blog.dbi-services.com/oracle-standard-edition-on-aws-a-socket-arithmetic/",
      "archive_path": "devto/articles/698748.json",
      "tags": [
        "oracle",
        "standardedition",
        "aws",
        "license"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "698746",
      "title": "AWS: PostgreSQL on Graviton2 with newer GCC",
      "published_at": "2021-05-15T04:55:09Z",
      "canonical_url": "https://blog.dbi-services.com/aws-postgresql-on-graviton2-aarch64/",
      "archive_path": "devto/articles/698746.json",
      "tags": [
        "aws",
        "postgres",
        "graviton2",
        "gcc"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "698745",
      "title": "An example of ORA-01152: file ... was not restored from a sufficiently old backup",
      "published_at": "2021-05-15T04:43:37Z",
      "canonical_url": "https://blog.dbi-services.com/an-example-of-ora-01152-file-was-not-restored-from-a-sufficiently-old-backup/",
      "archive_path": "devto/articles/698745.json",
      "tags": [
        "oracle",
        "recovery",
        "rman",
        "resetlogs"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "698743",
      "title": "DynamoDB / Aurora: sparse and partial indexes",
      "published_at": "2021-05-15T04:33:30Z",
      "canonical_url": "https://blog.dbi-services.com/dynamodb-vs-aurora-vocabulary-sparse-and-partial-indexes/",
      "archive_path": "devto/articles/698743.json",
      "tags": [
        "dynamodb",
        "aurora",
        "index",
        "nosql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "698741",
      "title": "Amazon DynamoDB: a r(el)ational Glossary",
      "published_at": "2021-05-15T04:26:34Z",
      "canonical_url": "https://blog.dbi-services.com/aws-dynamodb-a-relational-glossary/",
      "archive_path": "devto/articles/698741.json",
      "tags": [
        "dynamodb",
        "relational",
        "table",
        "item"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "698737",
      "title": "El Carro: The Oracle Operator for Kubernetes",
      "published_at": "2021-05-15T04:22:31Z",
      "canonical_url": "https://blog.dbi-services.com/el-carro-the-oracle-operator-for-kubernetes/",
      "archive_path": "devto/articles/698737.json",
      "tags": [
        "google",
        "oracle",
        "operator",
        "kubernetes"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "el-carro-the-oracle-operator-for-kubernetes",
      "title": "El Carro: The Oracle Operator for Kubernetes",
      "published_at": "2021-05-14T11:20:43",
      "canonical_url": "https://www.dbi-services.com/blog/el-carro-the-oracle-operator-for-kubernetes/",
      "archive_path": "dbi-services/articles/el-carro-the-oracle-operator-for-kubernetes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "delphix-and-upgrading-the-clones",
      "title": "Delphix and upgrading the clones (Oracle)",
      "published_at": "2021-05-05T09:32:25",
      "canonical_url": "https://www.dbi-services.com/blog/delphix-and-upgrading-the-clones/",
      "archive_path": "dbi-services/articles/delphix-and-upgrading-the-clones.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "an-example-of-ora-01152-file-was-not-restored-from-a-sufficiently-old-backup",
      "title": "An example of ORA-01152: file … was not restored from a sufficiently old backup",
      "published_at": "2021-04-30T15:00:29",
      "canonical_url": "https://www.dbi-services.com/blog/an-example-of-ora-01152-file-was-not-restored-from-a-sufficiently-old-backup/",
      "archive_path": "dbi-services/articles/an-example-of-ora-01152-file-was-not-restored-from-a-sufficiently-old-backup.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pass-a-variable-to-a-trigger-in-postgresql",
      "title": "Pass a variable to a trigger in PostgreSQL",
      "published_at": "2021-04-22T21:14:43",
      "canonical_url": "https://www.dbi-services.com/blog/pass-a-variable-to-a-trigger-in-postgresql/",
      "archive_path": "dbi-services/articles/pass-a-variable-to-a-trigger-in-postgresql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dynamodb-vs-aurora-vocabulary-sparse-and-partial-indexes",
      "title": "DynamoDB / Aurora: sparse and partial indexes",
      "published_at": "2021-04-15T19:50:48",
      "canonical_url": "https://www.dbi-services.com/blog/dynamodb-vs-aurora-vocabulary-sparse-and-partial-indexes/",
      "archive_path": "dbi-services/articles/dynamodb-vs-aurora-vocabulary-sparse-and-partial-indexes.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "661262",
      "title": "K8s on Windows/VirtualBox (and a DB)",
      "published_at": "2021-04-12T13:12:19Z",
      "canonical_url": "https://dev.to/yugabyte/k8s-on-windows-virtualbox-1cj8",
      "archive_path": "devto/articles/661262.json",
      "tags": [
        "kubernetes",
        "windows",
        "sql",
        "yugabytedb"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "k8s-on-windows-virtualbox",
      "title": "K8s on Windows/VirtualBox",
      "published_at": "2021-04-12T13:02:27",
      "canonical_url": "https://www.dbi-services.com/blog/k8s-on-windows-virtualbox/",
      "archive_path": "dbi-services/articles/k8s-on-windows-virtualbox.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "some-ai-in-oracle-sql_id",
      "title": "Some Artificial Intuition in Oracle SQL_ID?",
      "published_at": "2021-04-01T05:07:28",
      "canonical_url": "https://www.dbi-services.com/blog/some-ai-in-oracle-sql_id/",
      "archive_path": "dbi-services/articles/some-ai-in-oracle-sql_id.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "should-cpu-intensive-logic-be-done-in-the-db-or-in-application-server",
      "title": "Should CPU-intensive logic be done in the DB or in application server?",
      "published_at": "2021-03-25T14:10:58",
      "canonical_url": "https://www.dbi-services.com/blog/should-cpu-intensive-logic-be-done-in-the-db-or-in-application-server/",
      "archive_path": "dbi-services/articles/should-cpu-intensive-logic-be-done-in-the-db-or-in-application-server.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ora-32635-not-a-single-cell-reference-predicate",
      "title": "ORA-32635: not a single cell reference predicate",
      "published_at": "2021-03-24T09:20:28",
      "canonical_url": "https://www.dbi-services.com/blog/ora-32635-not-a-single-cell-reference-predicate/",
      "archive_path": "dbi-services/articles/ora-32635-not-a-single-cell-reference-predicate.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "641382",
      "title": "Foreign Keys in MySQL, NoSQL, NewSQL (YugaByteDB)",
      "published_at": "2021-03-21T15:46:25Z",
      "canonical_url": "https://dev.to/yugabyte/foreign-keys-in-mysql-sql-nosql-newsql-yugabytedb-3j0n",
      "archive_path": "devto/articles/641382.json",
      "tags": [
        "foreignkey",
        "sql",
        "yugabytedb",
        "postgres"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "641379",
      "title": "Linux perf-top basics: understand the %",
      "published_at": "2021-03-21T15:43:16Z",
      "canonical_url": "https://dev.to/franckpachot/linux-perf-top-basics-understand-the-316l",
      "archive_path": "devto/articles/641379.json",
      "tags": [
        "linux",
        "perf",
        "overhead"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "foreign-keys-in-mysql-nosql-newsql",
      "title": "Foreign Keys in MySQL, SQL, NoSQL, NewSQL",
      "published_at": "2021-03-18T20:53:12",
      "canonical_url": "https://www.dbi-services.com/blog/foreign-keys-in-mysql-nosql-newsql/",
      "archive_path": "dbi-services/articles/foreign-keys-in-mysql-nosql-newsql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-testing-resource-manager-plans",
      "title": "Oracle – testing resource manager plans?",
      "published_at": "2021-03-16T20:08:50",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-testing-resource-manager-plans/",
      "archive_path": "dbi-services/articles/oracle-testing-resource-manager-plans.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "a-vpc-is-a-private-cloud-in-a-public-cloud",
      "title": "A VPC is a private cloud in a public cloud",
      "published_at": "2021-03-15T13:25:04",
      "canonical_url": "https://www.dbi-services.com/blog/a-vpc-is-a-private-cloud-in-a-public-cloud/",
      "archive_path": "dbi-services/articles/a-vpc-is-a-private-cloud-in-a-public-cloud.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "linux-perf-top-basics-understand-the",
      "title": "Linux perf-top basics: understand the %",
      "published_at": "2021-03-14T08:31:29",
      "canonical_url": "https://www.dbi-services.com/blog/linux-perf-top-basics-understand-the/",
      "archive_path": "dbi-services/articles/linux-perf-top-basics-understand-the.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aws-postgresql-on-graviton2-aarch64",
      "title": "AWS: PostgreSQL on Graviton2 with newer GCC",
      "published_at": "2021-03-10T20:23:20",
      "canonical_url": "https://www.dbi-services.com/blog/aws-postgresql-on-graviton2-aarch64/",
      "archive_path": "dbi-services/articles/aws-postgresql-on-graviton2-aarch64.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "629224",
      "title": "Amazon Aurora: calling a lambda from a trigger",
      "published_at": "2021-03-08T19:56:30Z",
      "canonical_url": "https://blog.dbi-services.com/amazon-aurora-calling-a-lambda-from-a-trigger",
      "archive_path": "devto/articles/629224.json",
      "tags": [
        "aws",
        "lambda",
        "trigger"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "629222",
      "title": "DynamoDB Scan: the most efficient operation 😉",
      "published_at": "2021-03-08T19:53:58Z",
      "canonical_url": "https://blog.dbi-services.com/dynamodb-scan-the-most-efficient-operation-%f0%9f%98%89/",
      "archive_path": "devto/articles/629222.json",
      "tags": [
        "aws",
        "dynamodb",
        "scan"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "629219",
      "title": "Pressure Stall Information on Autonomous Linux",
      "published_at": "2021-03-08T19:51:04Z",
      "canonical_url": "https://blog.dbi-services.com/pressure-stall-information-on-autonomous-linux",
      "archive_path": "devto/articles/629219.json",
      "tags": [
        "linux",
        "psi",
        "pressure"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "629218",
      "title": "PostgreSQL on Linux: what is cached?",
      "published_at": "2021-03-08T19:47:51Z",
      "canonical_url": "https://blog.dbi-services.com/postgresql-on-linux-what-is-cached/",
      "archive_path": "devto/articles/629218.json",
      "tags": [
        "postgres",
        "linux",
        "cache"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "629217",
      "title": "Grafana, SQL and IN() list for multi-value variable",
      "published_at": "2021-03-08T19:46:03Z",
      "canonical_url": "https://blog.dbi-services.com/grafana-sql-and-in-list-for-multi-value-variable",
      "archive_path": "devto/articles/629217.json",
      "tags": [
        "grafana",
        "sql",
        "list"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "629216",
      "title": "AWS: PostgreSQL on Graviton2",
      "published_at": "2021-03-08T19:44:05Z",
      "canonical_url": "https://blog.dbi-services.com/aws-postgresql-on-graviton2/",
      "archive_path": "devto/articles/629216.json",
      "tags": [
        "aws",
        "postgres",
        "graviton2",
        "arm"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "aws-postgresql-on-graviton2",
      "title": "AWS: PostgreSQL on Graviton2",
      "published_at": "2021-03-08T19:34:38",
      "canonical_url": "https://www.dbi-services.com/blog/aws-postgresql-on-graviton2/",
      "archive_path": "dbi-services/articles/aws-postgresql-on-graviton2.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "delphix-a-glossary-to-get-started",
      "title": "Delphix: a glossary to get started",
      "published_at": "2021-03-02T16:39:11",
      "canonical_url": "https://www.dbi-services.com/blog/delphix-a-glossary-to-get-started/",
      "archive_path": "dbi-services/articles/delphix-a-glossary-to-get-started.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-rolling-invalidate-window-exceeded3",
      "title": "Oracle Rolling Invalidate Window Exceeded(3)",
      "published_at": "2021-02-24T20:41:40",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-rolling-invalidate-window-exceeded3/",
      "archive_path": "dbi-services/articles/oracle-rolling-invalidate-window-exceeded3.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-db-on-azure-with-multitenant-option",
      "title": "Oracle DB on Azure with Multitenant Option",
      "published_at": "2021-02-22T21:04:32",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-db-on-azure-with-multitenant-option/",
      "archive_path": "dbi-services/articles/oracle-db-on-azure-with-multitenant-option.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "grafana-sql-and-in-list-for-multi-value-variable",
      "title": "Grafana, SQL and IN() list for multi-value variable",
      "published_at": "2021-02-18T22:36:42",
      "canonical_url": "https://www.dbi-services.com/blog/grafana-sql-and-in-list-for-multi-value-variable/",
      "archive_path": "dbi-services/articles/grafana-sql-and-in-list-for-multi-value-variable.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgresql-on-linux-what-is-cached",
      "title": "PostgreSQL on Linux: what is cached?",
      "published_at": "2021-02-14T17:55:02",
      "canonical_url": "https://www.dbi-services.com/blog/postgresql-on-linux-what-is-cached/",
      "archive_path": "dbi-services/articles/postgresql-on-linux-what-is-cached.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "odasim",
      "title": "Learn ODA on Oracle Cloud",
      "published_at": "2021-02-03T12:26:12",
      "canonical_url": "https://www.dbi-services.com/blog/odasim/",
      "archive_path": "dbi-services/articles/odasim.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "google_insights",
      "title": "Google Cloud SQL Insights: ASH, plans and statement tagging",
      "published_at": "2021-01-31T22:16:45",
      "canonical_url": "https://www.dbi-services.com/blog/google_insights/",
      "archive_path": "dbi-services/articles/google_insights.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "19c-serverless-logon-trigger",
      "title": "19c serverless logon trigger",
      "published_at": "2021-01-31T17:33:07",
      "canonical_url": "https://www.dbi-services.com/blog/19c-serverless-logon-trigger/",
      "archive_path": "dbi-services/articles/19c-serverless-logon-trigger.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pressure-stall-information-on-autonomous-linux",
      "title": "Pressure Stall Information on Autonomous Linux",
      "published_at": "2021-01-09T22:58:01",
      "canonical_url": "https://www.dbi-services.com/blog/pressure-stall-information-on-autonomous-linux/",
      "archive_path": "dbi-services/articles/pressure-stall-information-on-autonomous-linux.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "google-spanner-sql-compatibility",
      "title": "Google Spanner – SQL compatibility",
      "published_at": "2021-01-05T09:13:43",
      "canonical_url": "https://www.dbi-services.com/blog/google-spanner-sql-compatibility/",
      "archive_path": "dbi-services/articles/google-spanner-sql-compatibility.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "optimizer-statistics-gathering-pending-and-history",
      "title": "Optimizer Statistics Gathering – pending and history",
      "published_at": "2020-12-29T15:01:44",
      "canonical_url": "https://www.dbi-services.com/blog/optimizer-statistics-gathering-pending-and-history/",
      "archive_path": "dbi-services/articles/optimizer-statistics-gathering-pending-and-history.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "password-rolling-change-before-oracle-21c",
      "title": "Password rolling change before Oracle 21c",
      "published_at": "2020-12-27T19:35:49",
      "canonical_url": "https://www.dbi-services.com/blog/password-rolling-change-before-oracle-21c/",
      "archive_path": "dbi-services/articles/password-rolling-change-before-oracle-21c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dynamodb-scan-the-most-efficient-operation-%f0%9f%98%89",
      "title": "DynamoDB Scan: the most efficient operation 😉",
      "published_at": "2020-12-20T15:46:06",
      "canonical_url": "https://www.dbi-services.com/blog/dynamodb-scan-the-most-efficient-operation-%f0%9f%98%89/",
      "archive_path": "dbi-services/articles/dynamodb-scan-the-most-efficient-operation-%f0%9f%98%89.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-spd-status-on-two-learning-paths",
      "title": "Oracle SPD status on two learning paths",
      "published_at": "2020-12-19T16:57:15",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-spd-status-on-two-learning-paths/",
      "archive_path": "dbi-services/articles/oracle-spd-status-on-two-learning-paths.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "efficiently-query-dba_extents-for-file_id-block_id",
      "title": "Efficiently query DBA_EXTENTS for FILE_ID / BLOCK_ID",
      "published_at": "2020-12-15T08:15:18",
      "canonical_url": "https://www.dbi-services.com/blog/efficiently-query-dba_extents-for-file_id-block_id/",
      "archive_path": "dbi-services/articles/efficiently-query-dba_extents-for-file_id-block_id.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "amazon-aurora-calling-a-lambda-from-a-trigger",
      "title": "Amazon Aurora: calling a lambda from a trigger",
      "published_at": "2020-12-14T21:13:45",
      "canonical_url": "https://www.dbi-services.com/blog/amazon-aurora-calling-a-lambda-from-a-trigger/",
      "archive_path": "dbi-services/articles/amazon-aurora-calling-a-lambda-from-a-trigger.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-write-consistency-bug-and-multi-thread-de-queuing",
      "title": "Oracle write consistency bug and multi-thread de-queuing",
      "published_at": "2020-12-14T09:21:43",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-write-consistency-bug-and-multi-thread-de-queuing/",
      "archive_path": "dbi-services/articles/oracle-write-consistency-bug-and-multi-thread-de-queuing.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "539983",
      "title": "Recovery in the ☁ with Google Cloud SQL (PostgreSQL)",
      "published_at": "2020-12-11T18:20:52Z",
      "canonical_url": "https://blog.dbi-services.com/recovery-in-the-%e2%98%81-with-google-cloud-sql-postgresql/",
      "archive_path": "devto/articles/539983.json",
      "tags": [
        "google",
        "postgres",
        "backup"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "recovery-in-the-%e2%98%81-with-google-cloud-sql-postgresql",
      "title": "Recovery in the ☁ with Google Cloud SQL (PostgreSQL)",
      "published_at": "2020-12-11T08:57:03",
      "canonical_url": "https://www.dbi-services.com/blog/recovery-in-the-%e2%98%81-with-google-cloud-sql-postgresql/",
      "archive_path": "dbi-services/articles/recovery-in-the-%e2%98%81-with-google-cloud-sql-postgresql.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "536936",
      "title": "Aurora Serverless v2 (preview) - CPU",
      "published_at": "2020-12-08T22:04:13Z",
      "canonical_url": "https://blog.dbi-services.com/aurora-serverless-v2-cpu/",
      "archive_path": "devto/articles/536936.json",
      "tags": [
        "amazon",
        "aurora",
        "serverless",
        "cpu"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "536935",
      "title": "Aurora Serverless v2 (preview) - RAM",
      "published_at": "2020-12-08T22:02:47Z",
      "canonical_url": "https://blog.dbi-services.com/aurora-serverless-v2-ram",
      "archive_path": "devto/articles/536935.json",
      "tags": [
        "amazon",
        "aurora",
        "serverless",
        "ram"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "aurora-serverless-v2-cpu",
      "title": "Aurora Serverless v2 (preview) – CPU",
      "published_at": "2020-12-07T21:28:38",
      "canonical_url": "https://www.dbi-services.com/blog/aurora-serverless-v2-cpu/",
      "archive_path": "dbi-services/articles/aurora-serverless-v2-cpu.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aurora-serverless-v2-ram",
      "title": "Aurora Serverless v2 (preview) – RAM",
      "published_at": "2020-12-07T18:31:42",
      "canonical_url": "https://www.dbi-services.com/blog/aurora-serverless-v2-ram/",
      "archive_path": "dbi-services/articles/aurora-serverless-v2-ram.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "database-announcements-at-reinvent-2020",
      "title": "Database announcements at re:Invent 2020",
      "published_at": "2020-12-03T21:27:52",
      "canonical_url": "https://www.dbi-services.com/blog/database-announcements-at-reinvent-2020/",
      "archive_path": "dbi-services/articles/database-announcements-at-reinvent-2020.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "528717",
      "title": "DynamoDB Scan (and why 128.5 RCU?)",
      "published_at": "2020-11-30T11:28:44Z",
      "canonical_url": "https://blog.dbi-services.com/dynamodb-scan-pagination/",
      "archive_path": "devto/articles/528717.json",
      "tags": [
        "aws",
        "dynamodb",
        "scan",
        "pagination"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "dynamodb-scan-pagination",
      "title": "DynamoDB Scan (and why 128.5 RCU?)",
      "published_at": "2020-11-30T10:22:36",
      "canonical_url": "https://www.dbi-services.com/blog/dynamodb-scan-pagination/",
      "archive_path": "dbi-services/articles/dynamodb-scan-pagination.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "528263",
      "title": "PMM Server on AWS: which TCP ports to open",
      "published_at": "2020-11-29T21:55:57Z",
      "canonical_url": "https://blog.dbi-services.com/cross-cloud-pmm-which-tcp-ports-to-open",
      "archive_path": "devto/articles/528263.json",
      "tags": [
        "aws",
        "pmm",
        "monitoring"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "cross-cloud-pmm-which-tcp-ports-to-open",
      "title": "Cross-cloud PMM: which TCP ports to open",
      "published_at": "2020-11-29T21:53:00",
      "canonical_url": "https://www.dbi-services.com/blog/cross-cloud-pmm-which-tcp-ports-to-open/",
      "archive_path": "dbi-services/articles/cross-cloud-pmm-which-tcp-ports-to-open.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "526025",
      "title": "Amazon DynamoDB Local: running NoSQL on SQLite",
      "published_at": "2020-11-26T18:09:04Z",
      "canonical_url": "https://blog.dbi-services.com/aws-dynamodb-local/",
      "archive_path": "devto/articles/526025.json",
      "tags": [
        "aws",
        "dynamodb",
        "local",
        "sqlite"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "525153",
      "title": "What is a database backup (back to the basics)",
      "published_at": "2020-11-25T20:56:42Z",
      "canonical_url": "https://blog.dbi-services.com/what-is-a-database-backup-back-to-the-basics",
      "archive_path": "devto/articles/525153.json",
      "tags": [
        "backup",
        "recovery",
        "postgres",
        "cloud"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "524561",
      "title": "SQL101 SQL Basics (NoSQL to SQL) all on Oracle Autonomous Database",
      "published_at": "2020-11-25T20:46:03Z",
      "canonical_url": "https://www.youtube.com/watch?v=-eL-G-9cLVk&ab_channel=FranckPachot",
      "archive_path": "devto/articles/524561.json",
      "tags": [
        "sql",
        "oracle",
        "soda",
        "nosql"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "524563",
      "title": "DynamoDB PartiQL - part II: SELECT",
      "published_at": "2020-11-25T20:38:10Z",
      "canonical_url": "https://blog.dbi-services.com/dynamodb-partiql-part-ii-select",
      "archive_path": "devto/articles/524563.json",
      "tags": [
        "aws",
        "dynamodb",
        "partiql",
        "sql"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "dynamodb-partiql-part-ii-select",
      "title": "DynamoDB  PartiQL – part II: SELECT",
      "published_at": "2020-11-25T20:29:42",
      "canonical_url": "https://www.dbi-services.com/blog/dynamodb-partiql-part-ii-select/",
      "archive_path": "dbi-services/articles/dynamodb-partiql-part-ii-select.json",
      "tags": []
    },
    {
      "source": "dev.to",
      "source_id": "524270",
      "title": "PostgreSQL in AWS: clearing the doubts",
      "published_at": "2020-11-24T21:12:42Z",
      "canonical_url": "https://blog.dbi-services.com/postgresql-in-aws-clearing-the-doubts/",
      "archive_path": "devto/articles/524270.json",
      "tags": [
        "aws",
        "postgres",
        "rds",
        "aurora"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "524267",
      "title": "AWS burstable EC2 and CloudWatch metrics",
      "published_at": "2020-11-24T21:07:05Z",
      "canonical_url": "https://blog.dbi-services.com/aws-burstable-ec2-cloudwatch/",
      "archive_path": "devto/articles/524267.json",
      "tags": [
        "aws",
        "ec2",
        "cloudwatch",
        "stolen"
      ]
    },
    {
      "source": "dev.to",
      "source_id": "524266",
      "title": "DynamoDB PartiQL – part I: INSERT",
      "published_at": "2020-11-24T21:03:07Z",
      "canonical_url": "https://blog.dbi-services.com/dynamodb-partiql-i/",
      "archive_path": "devto/articles/524266.json",
      "tags": [
        "aws",
        "dynamodb",
        "sql",
        "insert"
      ]
    },
    {
      "source": "dbi-services",
      "source_id": "dynamodb-partiql-i",
      "title": "DynamoDB  PartiQL – part I: INSERT",
      "published_at": "2020-11-24T18:51:34",
      "canonical_url": "https://www.dbi-services.com/blog/dynamodb-partiql-i/",
      "archive_path": "dbi-services/articles/dynamodb-partiql-i.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aws-burstable-ec2-cloudwatch",
      "title": "AWS burstable EC2 and CloudWatch metrics",
      "published_at": "2020-11-23T22:24:28",
      "canonical_url": "https://www.dbi-services.com/blog/aws-burstable-ec2-cloudwatch/",
      "archive_path": "dbi-services/articles/aws-burstable-ec2-cloudwatch.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "recovery-in-the-%e2%98%81-with-oracle-autonomous-database",
      "title": "Recovery in the ☁ with Oracle Autonomous Database",
      "published_at": "2020-11-18T15:49:22",
      "canonical_url": "https://www.dbi-services.com/blog/recovery-in-the-%e2%98%81-with-oracle-autonomous-database/",
      "archive_path": "dbi-services/articles/recovery-in-the-%e2%98%81-with-oracle-autonomous-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aws-dynamodb-s3-oci-autonomous-database",
      "title": "AWS DynamoDB -> S3 -> OCI Autonomous Database",
      "published_at": "2020-11-16T15:17:28",
      "canonical_url": "https://www.dbi-services.com/blog/aws-dynamodb-s3-oci-autonomous-database/",
      "archive_path": "dbi-services/articles/aws-dynamodb-s3-oci-autonomous-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgresql-in-aws-clearing-the-doubts",
      "title": "PostgreSQL in AWS: clearing the doubts",
      "published_at": "2020-11-09T09:53:08",
      "canonical_url": "https://www.dbi-services.com/blog/postgresql-in-aws-clearing-the-doubts/",
      "archive_path": "dbi-services/articles/postgresql-in-aws-clearing-the-doubts.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "key-value-access-always-scale",
      "title": "NoSQL and SQL: key-value access always scale",
      "published_at": "2020-11-04T18:40:47",
      "canonical_url": "https://www.dbi-services.com/blog/key-value-access-always-scale/",
      "archive_path": "dbi-services/articles/key-value-access-always-scale.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "what-is-a-database-backup-back-to-the-basics",
      "title": "What is a database backup (back to the basics)",
      "published_at": "2020-10-22T21:39:49",
      "canonical_url": "https://www.dbi-services.com/blog/what-is-a-database-backup-back-to-the-basics/",
      "archive_path": "dbi-services/articles/what-is-a-database-backup-back-to-the-basics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ycsb-nosql-benchmark-on-oracle-database",
      "title": "YCSB (NoSQL benchmark) on Oracle Database",
      "published_at": "2020-10-12T18:23:30",
      "canonical_url": "https://www.dbi-services.com/blog/ycsb-nosql-benchmark-on-oracle-database/",
      "archive_path": "dbi-services/articles/ycsb-nosql-benchmark-on-oracle-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cluster",
      "title": "CLUSTER",
      "published_at": "2020-10-07T10:05:08",
      "canonical_url": "https://www.dbi-services.com/blog/cluster/",
      "archive_path": "dbi-services/articles/cluster.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-adb-jupyter",
      "title": "Oracle ADB from a Jupyter Notebook",
      "published_at": "2020-09-30T17:56:04",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-adb-jupyter/",
      "archive_path": "dbi-services/articles/oracle-adb-jupyter.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-maa-reference-architecture-and-ha-dr-rto-rpo",
      "title": "Oracle MAA reference architecture and HA, DR, RTO, RPO",
      "published_at": "2020-09-26T21:06:15",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-maa-reference-architecture-and-ha-dr-rto-rpo/",
      "archive_path": "dbi-services/articles/oracle-maa-reference-architecture-and-ha-dr-rto-rpo.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "amazon-aurora-serverless-postgresql-compatibility",
      "title": "Amazon Aurora Serverless (PostgreSQL compatibility)",
      "published_at": "2020-09-20T20:26:07",
      "canonical_url": "https://www.dbi-services.com/blog/amazon-aurora-serverless-postgresql-compatibility/",
      "archive_path": "dbi-services/articles/amazon-aurora-serverless-postgresql-compatibility.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "amazon-or-aws-services",
      "title": "Amazon or AWS services?",
      "published_at": "2020-09-18T19:20:06",
      "canonical_url": "https://www.dbi-services.com/blog/amazon-or-aws-services/",
      "archive_path": "dbi-services/articles/amazon-or-aws-services.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "what-is-object-storage",
      "title": "What is Object Storage?",
      "published_at": "2020-09-18T11:09:15",
      "canonical_url": "https://www.dbi-services.com/blog/what-is-object-storage/",
      "archive_path": "dbi-services/articles/what-is-object-storage.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aws-dynamodb-a-relational-glossary",
      "title": "Amazon DynamoDB: a r(el)ational Glossary",
      "published_at": "2020-09-17T19:49:46",
      "canonical_url": "https://www.dbi-services.com/blog/aws-dynamodb-a-relational-glossary/",
      "archive_path": "dbi-services/articles/aws-dynamodb-a-relational-glossary.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "troubleshooting-autonomous-database",
      "title": "Troubleshooting performance on Autonomous Database",
      "published_at": "2020-08-29T18:05:10",
      "canonical_url": "https://www.dbi-services.com/blog/troubleshooting-autonomous-database/",
      "archive_path": "dbi-services/articles/troubleshooting-autonomous-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "data-virtualization-on-sql-server-with-redgate-sql-clone",
      "title": "Data virtualization on SQL Server with Redgate SQL Clone",
      "published_at": "2020-08-25T19:20:15",
      "canonical_url": "https://www.dbi-services.com/blog/data-virtualization-on-sql-server-with-redgate-sql-clone/",
      "archive_path": "dbi-services/articles/data-virtualization-on-sql-server-with-redgate-sql-clone.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sql-server-on-oracle-cloud",
      "title": "SQL Server on Oracle Cloud",
      "published_at": "2020-08-24T14:56:00",
      "canonical_url": "https://www.dbi-services.com/blog/sql-server-on-oracle-cloud/",
      "archive_path": "dbi-services/articles/sql-server-on-oracle-cloud.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-adb-rename",
      "title": "Oracle ADB: rename the service_name connect_data",
      "published_at": "2020-08-13T16:26:22",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-adb-rename/",
      "archive_path": "dbi-services/articles/oracle-adb-rename.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aws-dynamodb-the-cost-of-indexes",
      "title": "Amazon DynamoDB: the cost of indexes",
      "published_at": "2020-08-13T05:19:59",
      "canonical_url": "https://www.dbi-services.com/blog/aws-dynamodb-the-cost-of-indexes/",
      "archive_path": "dbi-services/articles/aws-dynamodb-the-cost-of-indexes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aws-dynamodb-local",
      "title": "Amazon DynamoDB Local: running NoSQL on SQLite",
      "published_at": "2020-08-07T07:45:58",
      "canonical_url": "https://www.dbi-services.com/blog/aws-dynamodb-local/",
      "archive_path": "dbi-services/articles/aws-dynamodb-local.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rdbms-scales-the-algorithm",
      "title": "RDBMS (vs. NoSQL) scales the algorithm before the hardware",
      "published_at": "2020-08-03T15:00:06",
      "canonical_url": "https://www.dbi-services.com/blog/rdbms-scales-the-algorithm/",
      "archive_path": "dbi-services/articles/rdbms-scales-the-algorithm.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "a-lesson-from-nosql-vs-rdbms-listen-to-your-users",
      "title": "A lesson from NoSQL (vs. RDBMS): listen to your users",
      "published_at": "2020-08-01T07:24:11",
      "canonical_url": "https://www.dbi-services.com/blog/a-lesson-from-nosql-vs-rdbms-listen-to-your-users/",
      "archive_path": "dbi-services/articles/a-lesson-from-nosql-vs-rdbms-listen-to-your-users.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "myth-nosql-vs-rdbms-relational-queries-are-unbounded",
      "title": "The myth of NoSQL (vs. RDBMS) “a simpler API to bound resources”",
      "published_at": "2020-07-21T08:18:18",
      "canonical_url": "https://www.dbi-services.com/blog/myth-nosql-vs-rdbms-relational-queries-are-unbounded/",
      "archive_path": "dbi-services/articles/myth-nosql-vs-rdbms-relational-queries-are-unbounded.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "a-serverless-standby-database-called-oracle-autonomous-data-guard",
      "title": "A Serverless Standby Database called Oracle Autonomous Data Guard",
      "published_at": "2020-07-16T08:42:48",
      "canonical_url": "https://www.dbi-services.com/blog/a-serverless-standby-database-called-oracle-autonomous-data-guard/",
      "archive_path": "dbi-services/articles/a-serverless-standby-database-called-oracle-autonomous-data-guard.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dbpod",
      "title": "DBPod – le podcast Bases de Données",
      "published_at": "2020-07-14T20:20:59",
      "canonical_url": "https://www.dbi-services.com/blog/dbpod/",
      "archive_path": "dbi-services/articles/dbpod.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "19c-scalable-top-n-queries",
      "title": "19c: scalable Top-N queries without further hints to the query planner",
      "published_at": "2020-07-14T09:36:39",
      "canonical_url": "https://www.dbi-services.com/blog/19c-scalable-top-n-queries/",
      "archive_path": "dbi-services/articles/19c-scalable-top-n-queries.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "the-myth-of-nosql-vs-rdbms-joins-dont-scale",
      "title": "The myth of NoSQL (vs. RDBMS) “joins dont scale”",
      "published_at": "2020-07-05T19:45:59",
      "canonical_url": "https://www.dbi-services.com/blog/the-myth-of-nosql-vs-rdbms-joins-dont-scale/",
      "archive_path": "dbi-services/articles/the-myth-of-nosql-vs-rdbms-joins-dont-scale.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-acfs-du-df",
      "title": "Oracle ACFS: “du” vs. “df” and “acfsutil info”",
      "published_at": "2020-07-03T12:19:24",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-acfs-du-df/",
      "archive_path": "dbi-services/articles/oracle-acfs-du-df.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "al7",
      "title": "Oracle Autonomous Linux: cron’d ksplice and yum updates",
      "published_at": "2020-06-30T21:14:09",
      "canonical_url": "https://www.dbi-services.com/blog/al7/",
      "archive_path": "dbi-services/articles/al7.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-ace-program",
      "title": "The Oracle ACE program ♠ what it is not ♠",
      "published_at": "2020-06-24T19:55:13",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-ace-program/",
      "archive_path": "dbi-services/articles/oracle-ace-program.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "some-myths-about-postgresql-vs-oracle",
      "title": "Some myths about PostgreSQL vs. Oracle",
      "published_at": "2020-06-24T17:42:04",
      "canonical_url": "https://www.dbi-services.com/blog/some-myths-about-postgresql-vs-oracle/",
      "archive_path": "dbi-services/articles/some-myths-about-postgresql-vs-oracle.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "column-level-collate",
      "title": "Oracle non-linguistic varchar2 columns to order by without sorting",
      "published_at": "2020-06-16T20:51:22",
      "canonical_url": "https://www.dbi-services.com/blog/column-level-collate/",
      "archive_path": "dbi-services/articles/column-level-collate.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12c-analytic-views",
      "title": "No{Join,GroupBy}SQL – Analytic Views for BI",
      "published_at": "2020-06-14T18:36:47",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12c-analytic-views/",
      "archive_path": "dbi-services/articles/oracle-12c-analytic-views.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12c-global-partial-index",
      "title": "Oracle 12c – global partial index",
      "published_at": "2020-06-10T05:02:18",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12c-global-partial-index/",
      "archive_path": "dbi-services/articles/oracle-12c-global-partial-index.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12c-clustering",
      "title": "Oracle 12c – reorg and split table with clustering",
      "published_at": "2020-06-10T04:49:58",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12c-clustering/",
      "archive_path": "dbi-services/articles/oracle-12c-clustering.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-row-pattern",
      "title": "Oracle 12c – peak detection with MATCH_RECOGNIZE",
      "published_at": "2020-06-08T14:39:55",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-row-pattern/",
      "archive_path": "dbi-services/articles/oracle-row-pattern.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-index-on-joins",
      "title": "Oracle 12c – pre-built join index",
      "published_at": "2020-06-05T21:09:24",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-index-on-joins/",
      "archive_path": "dbi-services/articles/oracle-index-on-joins.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "what-is-a-serverless-database",
      "title": "What is a serverless database?",
      "published_at": "2020-06-05T20:44:00",
      "canonical_url": "https://www.dbi-services.com/blog/what-is-a-serverless-database/",
      "archive_path": "dbi-services/articles/what-is-a-serverless-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-select-from-file",
      "title": "Oracle 18c – select from a flat file",
      "published_at": "2020-06-04T21:09:27",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-select-from-file/",
      "archive_path": "dbi-services/articles/oracle-select-from-file.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "tibero-ii",
      "title": "티베로 – The AWR-like “Tibero Performance Repository”",
      "published_at": "2020-05-26T13:56:21",
      "canonical_url": "https://www.dbi-services.com/blog/tibero-ii/",
      "archive_path": "dbi-services/articles/tibero-ii.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-standard-edition-on-aws-a-socket-arithmetic",
      "title": "Oracle Standard Edition on AWS ☁ socket arithmetic",
      "published_at": "2020-05-20T08:57:53",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-standard-edition-on-aws-a-socket-arithmetic/",
      "archive_path": "dbi-services/articles/oracle-standard-edition-on-aws-a-socket-arithmetic.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "always-free-always-up-tmux-in-the-oracle-cloud-with-ksplice-updates",
      "title": "Always free / always up tmux in the Oracle Cloud with KSplice updates",
      "published_at": "2020-05-14T20:35:21",
      "canonical_url": "https://www.dbi-services.com/blog/always-free-always-up-tmux-in-the-oracle-cloud-with-ksplice-updates/",
      "archive_path": "dbi-services/articles/always-free-always-up-tmux-in-the-oracle-cloud-with-ksplice-updates.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "20c-awr-now-stores-explain-plan-predicates",
      "title": "20c: AWR now stores explain plan predicates",
      "published_at": "2020-05-13T17:00:50",
      "canonical_url": "https://www.dbi-services.com/blog/20c-awr-now-stores-explain-plan-predicates/",
      "archive_path": "dbi-services/articles/20c-awr-now-stores-explain-plan-predicates.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "the-myth-of-nosql-vs-rdbms-agility-adding-attributes",
      "title": "The myth of NoSQL (vs. RDBMS) agility: adding attributes",
      "published_at": "2020-05-07T22:00:44",
      "canonical_url": "https://www.dbi-services.com/blog/the-myth-of-nosql-vs-rdbms-agility-adding-attributes/",
      "archive_path": "dbi-services/articles/the-myth-of-nosql-vs-rdbms-agility-adding-attributes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "aws-aurora-xactsync-batch-commit",
      "title": "AWS Aurora IO:XactSync is not a PostgreSQL wait event",
      "published_at": "2020-05-01T16:05:32",
      "canonical_url": "https://www.dbi-services.com/blog/aws-aurora-xactsync-batch-commit/",
      "archive_path": "dbi-services/articles/aws-aurora-xactsync-batch-commit.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "tibero-i",
      "title": "티베로 – The most compatible alternative to Oracle Database",
      "published_at": "2020-04-22T10:34:43",
      "canonical_url": "https://www.dbi-services.com/blog/tibero-i/",
      "archive_path": "dbi-services/articles/tibero-i.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-support-easy-export-of-sql-testcase",
      "title": "Oracle Support: Easy export of SQL Testcase",
      "published_at": "2020-04-20T18:41:46",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-support-easy-export-of-sql-testcase/",
      "archive_path": "dbi-services/articles/oracle-support-easy-export-of-sql-testcase.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "segment-maintenance-online-compress",
      "title": "“Segment Maintenance Online Compress” feature usage",
      "published_at": "2020-04-19T21:17:20",
      "canonical_url": "https://www.dbi-services.com/blog/segment-maintenance-online-compress/",
      "archive_path": "dbi-services/articles/segment-maintenance-online-compress.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "find-the-sql-plan-baseline-for-a-plan-operation",
      "title": "Find the SQL Plan Baseline for a plan operation",
      "published_at": "2020-04-17T20:17:12",
      "canonical_url": "https://www.dbi-services.com/blog/find-the-sql-plan-baseline-for-a-plan-operation/",
      "archive_path": "dbi-services/articles/find-the-sql-plan-baseline-for-a-plan-operation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dynamodb-covering-lsi",
      "title": "DynamoDB: adding a Local covering index to reduce the cost",
      "published_at": "2020-03-16T15:28:32",
      "canonical_url": "https://www.dbi-services.com/blog/dynamodb-covering-lsi/",
      "archive_path": "dbi-services/articles/dynamodb-covering-lsi.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dynamodb-covering-gsi",
      "title": "DynamoDB: adding a Global covering index to reduce the cost",
      "published_at": "2020-03-16T14:57:24",
      "canonical_url": "https://www.dbi-services.com/blog/dynamodb-covering-gsi/",
      "archive_path": "dbi-services/articles/dynamodb-covering-gsi.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ysql_bench",
      "title": "ysql_bench: the YugaByteDB version of pgbench",
      "published_at": "2020-03-09T08:00:14",
      "canonical_url": "https://www.dbi-services.com/blog/ysql_bench/",
      "archive_path": "dbi-services/articles/ysql_bench.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "yugabytedb-2-1",
      "title": "YugaByteDB 2.1: the Open Source multi-region distributed database with PostgreSQL API is in GA with huge performance improvement",
      "published_at": "2020-03-08T14:48:13",
      "canonical_url": "https://www.dbi-services.com/blog/yugabytedb-2-1/",
      "archive_path": "dbi-services/articles/yugabytedb-2-1.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "refactoring-procedural-to-sql-an-example-with-mysql-sakila",
      "title": "Refactoring procedural to SQL – an example with MySQL Sakila",
      "published_at": "2020-03-01T22:00:33",
      "canonical_url": "https://www.dbi-services.com/blog/refactoring-procedural-to-sql-an-example-with-mysql-sakila/",
      "archive_path": "dbi-services/articles/refactoring-procedural-to-sql-an-example-with-mysql-sakila.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-20c-sql-macros-a-scalar-example-to-join-agility-and-performance",
      "title": "Oracle 20c SQL Macros: a scalar example to join agility and performance",
      "published_at": "2020-02-24T19:52:34",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-20c-sql-macros-a-scalar-example-to-join-agility-and-performance/",
      "archive_path": "dbi-services/articles/oracle-20c-sql-macros-a-scalar-example-to-join-agility-and-performance.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sqlnet-expire_time-and-enablebroken",
      "title": "SQLNET.EXPIRE_TIME and ENABLE=BROKEN",
      "published_at": "2020-02-15T19:00:48",
      "canonical_url": "https://www.dbi-services.com/blog/sqlnet-expire_time-and-enablebroken/",
      "archive_path": "dbi-services/articles/sqlnet-expire_time-and-enablebroken.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-sql-server-mvcc-compares-to-oracle-and-postgresql",
      "title": "How SQL Server MVCC compares to Oracle and PostgreSQL",
      "published_at": "2020-02-09T19:42:55",
      "canonical_url": "https://www.dbi-services.com/blog/how-sql-server-mvcc-compares-to-oracle-and-postgresql/",
      "archive_path": "dbi-services/articles/how-sql-server-mvcc-compares-to-oracle-and-postgresql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "running-sql-server-on-the-oracle-free-tier",
      "title": "Running SQL Server on the Oracle Free tier",
      "published_at": "2020-02-08T22:25:42",
      "canonical_url": "https://www.dbi-services.com/blog/running-sql-server-on-the-oracle-free-tier/",
      "archive_path": "dbi-services/articles/running-sql-server-on-the-oracle-free-tier.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rollback-to-savepoint",
      "title": "ROLLBACK TO SAVEPOINT;",
      "published_at": "2020-02-04T20:07:51",
      "canonical_url": "https://www.dbi-services.com/blog/rollback-to-savepoint/",
      "archive_path": "dbi-services/articles/rollback-to-savepoint.json",
      "tags": []
    },
    {
      "source": "linkedin",
      "source_id": "find-best-place-work",
      "title": "Find the best place to work",
      "published_at": "2019-11-07",
      "canonical_url": "https://www.linkedin.com/pulse/find-best-place-work-franck-pachot",
      "archive_path": "linkedin/articles/find-best-place-work.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "3012d494712",
      "title": "Oracle & Postgres JDBC Fetch Size",
      "published_at": "2019-07-26T21:16:57.908Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-postgres-jdbc-fetch-size-3012d494712",
      "archive_path": "2018-medium/posts/2019-07-26_Oracle---Postgres-JDBC-Fetch-Size-3012d494712.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "3a15450dfa42",
      "title": "Running pgBench on YugaByteDB 1.3",
      "published_at": "2019-07-21T18:25:32.264Z",
      "canonical_url": "https://medium.com/@FranckPachot/running-pgbench-on-yugabytedb-1-3-3a15450dfa42",
      "archive_path": "2018-medium/posts/2019-07-21_Running-pgBench-on-YugaByteDB-1-3-3a15450dfa42.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "8ffa811a7c68",
      "title": "Oracle DBA_SQL_PLAN_BASELINE SQL_ID and PLAN_HASH_VALUE",
      "published_at": "2019-07-20T14:12:12.836Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-dba-sql-plan-baseline-sql-id-and-plan-hash-value-8ffa811a7c68",
      "archive_path": "2018-medium/posts/2019-07-20_Oracle-DBA-SQL-PLAN-BASELINE-SQL-ID-and-PLAN-HASH-VALUE-8ffa811a7c68.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "84f285ebdb60",
      "title": "No risk to activate Active Data Guard by mistake with SQL Developer SQLcl",
      "published_at": "2019-07-16T20:36:40.300Z",
      "canonical_url": "https://medium.com/@FranckPachot/no-risk-to-activate-active-data-guard-by-mistake-with-sql-developer-sqlcl-84f285ebdb60",
      "archive_path": "2018-medium/posts/2019-07-16_No-risk-to-activate-Active-Data-Guard-by-mistake-with-SQL-Developer-SQLcl-84f285ebdb60.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "b21cd1e00c16",
      "title": "Passwordless Data Pump 19c",
      "published_at": "2019-07-16T16:13:36.098Z",
      "canonical_url": "https://medium.com/@FranckPachot/passwordless-data-pump-19c-b21cd1e00c16",
      "archive_path": "2018-medium/posts/2019-07-16_Passwordless-Data-Pump-19c-b21cd1e00c16.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "d4e016e90af6",
      "title": "Ideas for Event Sourcing in Oracle",
      "published_at": "2019-07-15T15:33:35.235Z",
      "canonical_url": "https://medium.com/@FranckPachot/ideas-for-event-sourcing-in-oracle-d4e016e90af6",
      "archive_path": "2018-medium/posts/2019-07-15_Ideas-for-Event-Sourcing-in-Oracle-d4e016e90af6.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ccd5baf85bf7",
      "title": "Oracle Heterogeneous Services",
      "published_at": "2019-07-12T15:58:34.463Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-heterogeneous-services-ccd5baf85bf7",
      "archive_path": "2018-medium/posts/2019-07-12_Oracle-Heterogeneous-Services-ccd5baf85bf7.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "2f17c98bd6db",
      "title": "Hi Tuyen, as this removes lot of files from the Oracle Home, many features will not work.",
      "published_at": "2019-07-09T20:32:53.833Z",
      "canonical_url": "https://medium.com/@FranckPachot/hi-tuyen-as-this-removes-lot-of-files-from-the-oracle-home-many-features-will-not-work-2f17c98bd6db",
      "archive_path": "2018-medium/posts/2019-07-09_Hi-Tuyen--as-this-removes-lot-of-files-from-the-Oracle-Home--many-features-will-not-work--2f17c98bd6db.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "f949d4802322",
      "title": "strace -k (build with libunwind)",
      "published_at": "2019-07-05T21:50:11.549Z",
      "canonical_url": "https://medium.com/@FranckPachot/strace-k-build-with-libunwind-f949d4802322",
      "archive_path": "2018-medium/posts/2019-07-05_strace--k--build-with-libunwind--f949d4802322.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "5466917c490f",
      "title": "Oracle Refresh Group consistency with nested materialized views.",
      "published_at": "2019-07-02T14:56:05.739Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-refresh-group-consistency-with-nested-materialized-views-5466917c490f",
      "archive_path": "2018-medium/posts/2019-07-02_Oracle-Refresh-Group-consistency-with-nested-materialized-views--5466917c490f.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "5033ca6b8e4",
      "title": "Hi Vivek,\nRight, but in a mixed workload, reporting is done at the same time as OLTP.",
      "published_at": "2019-06-28T16:00:15.787Z",
      "canonical_url": "https://medium.com/@FranckPachot/hi-vivek-right-but-in-a-mixed-workload-reporting-is-done-at-the-same-time-as-oltp-5033ca6b8e4",
      "archive_path": "2018-medium/posts/2019-06-28_Hi-Vivek--Right--but-in-a-mixed-workload--reporting-is-done-at-the-same-time-as-OLTP--5033ca6b8e4.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "b60793913a4e",
      "title": "Hi Gg,",
      "published_at": "2019-06-28T15:32:14.683Z",
      "canonical_url": "https://medium.com/@FranckPachot/hi-gg-b60793913a4e",
      "archive_path": "2018-medium/posts/2019-06-28_Hi-Gg--b60793913a4e.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "e991199d3d24",
      "title": "Oracle Materialized View Refresh Group atomicity— How to prove transactional consistency with…",
      "published_at": "2019-06-26T16:20:30.392Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-materialized-view-refresh-group-atomicity-how-to-prove-transactional-consistency-with-e991199d3d24",
      "archive_path": "2018-medium/posts/2019-06-26_Oracle-Materialized-View-Refresh-Group-atomicity--How-to-prove-transactional-consistency-with--e991199d3d24.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "5a9281b68d72",
      "title": "Oracle ATP: MEDIUM and HIGH services are not for OLTP",
      "published_at": "2019-06-22T20:51:37.250Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-atp-medium-and-high-services-are-not-for-oltp-5a9281b68d72",
      "archive_path": "2018-medium/posts/2019-06-22_Oracle-ATP--MEDIUM-and-HIGH-services-are-not-for-OLTP-5a9281b68d72.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "7454432a7738",
      "title": "Oracle/Hibernate de-queuing",
      "published_at": "2019-06-20T22:18:01.906Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-hibernate-de-queuing-7454432a7738",
      "archive_path": "2018-medium/posts/2019-06-20_Oracle-Hibernate-de-queuing-7454432a7738.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "5e88b12282b0",
      "title": "A Jupyter notebook on Google Collab to connect to the Oracle Cloud ATP",
      "published_at": "2019-06-16T18:26:40.716Z",
      "canonical_url": "https://medium.com/@FranckPachot/a-jupyter-notebook-on-google-collab-to-connect-to-the-oracle-cloud-atp-5e88b12282b0",
      "archive_path": "2018-medium/posts/2019-06-16_A-Jupyter-notebook-on-Google-Collab-to-connect-to-the-Oracle-Cloud-ATP-5e88b12282b0.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "d57a8c8c2ca9",
      "title": "Hibernate for Oracle DBAs",
      "published_at": "2019-06-05T20:41:08.225Z",
      "canonical_url": "https://medium.com/@FranckPachot/hibernate-for-oracle-dbas-d57a8c8c2ca9",
      "archive_path": "2018-medium/posts/2019-06-05_Hibernate-for-Oracle-DBAs-d57a8c8c2ca9.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "4d341be23764",
      "title": "When Oracle Statistic Gathering times out.",
      "published_at": "2019-06-03T06:04:44.672Z",
      "canonical_url": "https://medium.com/@FranckPachot/when-oracle-statistic-gathering-times-out-4d341be23764",
      "archive_path": "2018-medium/posts/2019-06-03_When-Oracle-Statistic-Gathering-times-out--4d341be23764.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "15d2f9b4ca1f",
      "title": "PostgreSQL: measuring query activity(WAL size generated, shared buffer reads, filesystem reads,…)",
      "published_at": "2019-05-27T10:20:50.103Z",
      "canonical_url": "https://medium.com/@FranckPachot/postgresql-measuring-query-activity-wal-size-generated-shared-buffer-reads-filesystem-reads-15d2f9b4ca1f",
      "archive_path": "2018-medium/posts/2019-05-27_PostgreSQL--measuring-query-activity-WAL-size-generated--shared-buffer-reads--filesystem-reads----15d2f9b4ca1f.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "2fa7ff16803b",
      "title": "Generate your Oracle Secure External Password Store wallet from your tnsnames.ora",
      "published_at": "2019-05-20T14:21:33.330Z",
      "canonical_url": "https://medium.com/@FranckPachot/generate-your-oracle-secure-external-password-store-wallet-from-your-tnsnames-ora-2fa7ff16803b",
      "archive_path": "2018-medium/posts/2019-05-20_Generate-your-Oracle-Secure-External-Password-Store-wallet-from-your-tnsnames-ora-2fa7ff16803b.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "d8692a33e3d6",
      "title": "Do you know what you are measuring with pgbench?",
      "published_at": "2019-05-19T19:59:26.103Z",
      "canonical_url": "https://medium.com/@FranckPachot/do-you-know-what-you-are-measuring-with-pgbench-d8692a33e3d6",
      "archive_path": "2018-medium/posts/2019-05-19_Do-you-know-what-you-are-measuring-with-pgbench--d8692a33e3d6.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "8187c80d1779",
      "title": "Hi GG, this approach(pathfinder) can be used with GTT.",
      "published_at": "2019-05-19T10:01:14.021Z",
      "canonical_url": "https://medium.com/@FranckPachot/gg-this-approach-pathfinder-can-be-used-with-gtt-8187c80d1779",
      "archive_path": "2018-medium/posts/2019-05-19_Hi-GG--this-approach-pathfinder--can-be-used-with-GTT--8187c80d1779.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ddb99bb7ba15",
      "title": "I ‘fixed’ execution plan regression with optimizer_features_enable, what to do next?",
      "published_at": "2019-05-16T19:21:47.704Z",
      "canonical_url": "https://medium.com/@FranckPachot/i-fixed-execution-plan-regression-with-optimizer-features-enable-what-to-do-next-ddb99bb7ba15",
      "archive_path": "2018-medium/posts/2019-05-16_I--fixed--execution-plan-regression-with-optimizer-features-enable--what-to-do-next--ddb99bb7ba15.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "7a97e7727b03",
      "title": "Did you forget to allocate Huge Pages on your PostgreSQL server?",
      "published_at": "2019-05-12T12:40:01.078Z",
      "canonical_url": "https://medium.com/@FranckPachot/did-you-forget-to-allocate-huge-pages-on-your-postgresql-server-7a97e7727b03",
      "archive_path": "2018-medium/posts/2019-05-12_Did-you-forget-to-allocate-Huge-Pages-on-your-PostgreSQL-server--7a97e7727b03.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "c782d2011252",
      "title": "Easy Oracle Cloud wallet location in the JDBC connection string",
      "published_at": "2019-05-10T06:23:39.307Z",
      "canonical_url": "https://medium.com/@FranckPachot/easy-oracle-cloud-wallet-location-in-the-jdbc-connection-string-c782d2011252",
      "archive_path": "2018-medium/posts/2019-05-10_Easy-Oracle-Cloud-wallet-location-in-the-JDBC-connection-string-c782d2011252.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "b3a198b5b796",
      "title": "#VDC19 Voxxed Days CERN 2019",
      "published_at": "2019-05-05T10:22:51.815Z",
      "canonical_url": "https://medium.com/@FranckPachot/vdc19-voxxed-days-cern-2019-b3a198b5b796",
      "archive_path": "2018-medium/posts/2019-05-05_-VDC19-Voxxed-Days-CERN-2019-b3a198b5b796.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "38470abf0bae",
      "title": "Hi Piotr, Bug 29534218 : WITH THE NEW MULTIHOST EZCONNECT METHOD GET WRONG OUTPUTS is in status 16…",
      "published_at": "2019-05-04T15:24:54.384Z",
      "canonical_url": "https://medium.com/@FranckPachot/hi-piotr-bug-29534218-with-the-new-multihost-ezconnect-method-get-wrong-outputs-is-in-status-16-38470abf0bae",
      "archive_path": "2018-medium/posts/2019-05-04_Hi-Piotr--Bug-29534218---WITH-THE-NEW-MULTIHOST-EZCONNECT-METHOD-GET-WRONG-OUTPUTS-is-in-status-16--38470abf0bae.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "e7b68cb6427d",
      "title": "PostgreSQL and Jupyter notebook",
      "published_at": "2019-04-28T18:25:51.294Z",
      "canonical_url": "https://medium.com/@FranckPachot/postgresql-and-jupyter-notebook-e7b68cb6427d",
      "archive_path": "2018-medium/posts/2019-04-28_PostgreSQL-and-Jupyter-notebook-e7b68cb6427d.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "79702f06c735",
      "title": "Avoid compound hints for better Hint Reporting in 19c",
      "published_at": "2019-04-26T20:17:25.118Z",
      "canonical_url": "https://medium.com/@FranckPachot/avoid-compound-hints-for-better-hint-reporting-in-19c-79702f06c735",
      "archive_path": "2018-medium/posts/2019-04-26_Avoid-compound-hints-for-better-Hint-Reporting-in-19c-79702f06c735.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "3183ad2b4584",
      "title": "Thanks for your feedback Rafael.",
      "published_at": "2019-04-23T19:01:33.062Z",
      "canonical_url": "https://medium.com/@FranckPachot/thanks-for-your-feedback-raphael-3183ad2b4584",
      "archive_path": "2018-medium/posts/2019-04-23_Thanks-for-your-feedback-Rafael--3183ad2b4584.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "e00cb81ed7e2",
      "title": "You should set OCSID.CLIENTID",
      "published_at": "2019-04-22T19:18:42.859Z",
      "canonical_url": "https://medium.com/@FranckPachot/you-should-set-ocsid-clientid-e00cb81ed7e2",
      "archive_path": "2018-medium/posts/2019-04-22_You-should-set-OCSID-CLIENTID-e00cb81ed7e2.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "dfd666911bed",
      "title": "19c EM Express (aka Oracle Cloud Database Express)",
      "published_at": "2019-04-07T15:55:29.725Z",
      "canonical_url": "https://medium.com/@FranckPachot/19c-em-express-aka-oracle-cloud-database-express-dfd666911bed",
      "archive_path": "2018-medium/posts/2019-04-07_19c-EM-Express--aka-Oracle-Cloud-Database-Express--dfd666911bed.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "db0a8db4c38f",
      "title": "zHeap: PostgreSQL with UNDO",
      "published_at": "2019-04-06T19:42:07.491Z",
      "canonical_url": "https://medium.com/@FranckPachot/zheap-postgresql-with-undo-db0a8db4c38f",
      "archive_path": "2018-medium/posts/2019-04-06_zHeap--PostgreSQL-with-UNDO-db0a8db4c38f.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "8e326bb8c9f5",
      "title": "19c EZCONNECT and Wallet (Easy Connect and External Password File)",
      "published_at": "2019-04-04T20:10:19.189Z",
      "canonical_url": "https://medium.com/@FranckPachot/19c-ezconnect-and-wallet-easy-connect-and-external-password-file-8e326bb8c9f5",
      "archive_path": "2018-medium/posts/2019-04-04_19c-EZCONNECT-and-Wallet--Easy-Connect-and-External-Password-File--8e326bb8c9f5.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "387886a18086",
      "title": "Adding JDBC driver property in SQL Developer connecting to MySQL",
      "published_at": "2019-04-04T08:37:53.369Z",
      "canonical_url": "https://medium.com/@FranckPachot/adding-jdbc-driver-property-in-sql-developer-connecting-to-mysql-387886a18086",
      "archive_path": "2018-medium/posts/2019-04-04_Adding-JDBC-driver-property-in-SQL-Developer-connecting-to-MySQL-387886a18086.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "415ffa064955",
      "title": "High CPU usage in docker-proxy with chatty database application? Disable userland-proxy!",
      "published_at": "2019-03-18T17:31:03.112Z",
      "canonical_url": "https://medium.com/@FranckPachot/high-cpu-usage-in-docker-proxy-with-chatty-database-application-disable-userland-proxy-415ffa064955",
      "archive_path": "2018-medium/posts/2019-03-18_High-CPU-usage-in-docker-proxy-with-chatty-database-application--Disable-userland-proxy--415ffa064955.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "a7a102e1e5ce",
      "title": "SQL, PL/SQL and JavaScript running in the Database Server (Oracle MLE)",
      "published_at": "2019-03-17T20:02:57.838Z",
      "canonical_url": "https://medium.com/@FranckPachot/sql-pl-sql-and-javascript-running-in-the-database-server-oracle-mle-a7a102e1e5ce",
      "archive_path": "2018-medium/posts/2019-03-17_SQL--PL-SQL-and-JavaScript-running-in-the-Database-Server--Oracle-MLE--a7a102e1e5ce.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "7ce6414aa6c4",
      "title": "Oracle Multi-Lingual Engine",
      "published_at": "2019-03-15T22:14:10.602Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-multi-lingual-engine-7ce6414aa6c4",
      "archive_path": "2018-medium/posts/2019-03-15_Oracle-Multi-Lingual-Engine-7ce6414aa6c4.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ef798bcd096c",
      "title": "Oracle stored procedure compilation errors displayed for humans",
      "published_at": "2019-03-14T17:24:13.184Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-stored-procedure-compilation-errors-displayed-for-humans-ef798bcd096c",
      "archive_path": "2018-medium/posts/2019-03-14_Oracle-stored-procedure-compilation-errors-displayed-for-humans-ef798bcd096c.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "8b89479468b4",
      "title": "SQL prevents database corruption and injection, except in the ridiculous movie’s hacker scenes.",
      "published_at": "2019-03-10T20:00:17.341Z",
      "canonical_url": "https://medium.com/@FranckPachot/sql-prevents-database-corruption-and-injection-except-in-the-ridiculous-movies-hacker-scenes-8b89479468b4",
      "archive_path": "2018-medium/posts/2019-03-10_SQL-prevents-database-corruption-and-injection--except-in-the-ridiculous-movie-s-hacker-scenes--8b89479468b4.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "88aab20ea0ab",
      "title": "Oracle 19c Data Guard sandbox created by DBCA -createDuplicateDB",
      "published_at": "2019-03-06T17:03:55.860Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-19c-data-guard-sandbox-created-by-dbca-createduplicatedb-88aab20ea0ab",
      "archive_path": "2018-medium/posts/2019-03-06_Oracle-19c-Data-Guard-sandbox-created-by-DBCA--createDuplicateDB-88aab20ea0ab.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "60ebdaecec3e",
      "title": "19c Observe-Only Data Guard FSFO: no split-brain risk in manual failover",
      "published_at": "2019-03-06T14:45:51.057Z",
      "canonical_url": "https://medium.com/@FranckPachot/19c-observe-only-data-guard-fsfo-no-split-brain-risk-in-manual-failover-60ebdaecec3e",
      "archive_path": "2018-medium/posts/2019-03-06_19c-Observe-Only-Data-Guard-FSFO--no-split-brain-risk-in-manual-failover-60ebdaecec3e.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "dd66d9558cdc",
      "title": "My next Conferences in 2019",
      "published_at": "2019-03-05T22:02:59.953Z",
      "canonical_url": "https://medium.com/@FranckPachot/my-next-conferences-in-2019-dd66d9558cdc",
      "archive_path": "2018-medium/posts/2019-03-05_My-next-Conferences-in-2019-dd66d9558cdc.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "350c6bebc380",
      "title": "/proc/meminfo formatted for humans",
      "published_at": "2019-02-27T17:51:18.540Z",
      "canonical_url": "https://medium.com/@FranckPachot/proc-meminfo-formatted-for-humans-350c6bebc380",
      "archive_path": "2018-medium/posts/2019-02-27_-proc-meminfo-formatted-for-humans-350c6bebc380.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ea2927a9786",
      "title": "19c Auto Index: the dictionary views",
      "published_at": "2019-02-25T10:34:42.637Z",
      "canonical_url": "https://medium.com/@FranckPachot/19c-auto-index-the-dictionary-views-ea2927a9786",
      "archive_path": "2018-medium/posts/2019-02-25_19c-Auto-Index--the-dictionary-views-ea2927a9786.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "e0c3b77968d7",
      "title": "19c Easy Connect",
      "published_at": "2019-02-23T17:17:06.567Z",
      "canonical_url": "https://medium.com/@FranckPachot/19c-easy-connect-e0c3b77968d7",
      "archive_path": "2018-medium/posts/2019-02-23_19c-Easy-Connect-e0c3b77968d7.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "f4ce8a37bfe3",
      "title": "19c DG Broker export/import configuration",
      "published_at": "2019-02-20T17:05:29.769Z",
      "canonical_url": "https://medium.com/@FranckPachot/19c-dg-broker-export-import-configuration-f4ce8a37bfe3",
      "archive_path": "2018-medium/posts/2019-02-20_19c-DG-Broker-export-import-configuration-f4ce8a37bfe3.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "345563a461f0",
      "title": "Oracle 19c Hint Usage reporting",
      "published_at": "2019-02-18T07:07:47.868Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-19c-hint-usage-reporting-345563a461f0",
      "archive_path": "2018-medium/posts/2019-02-18_Oracle-19c-Hint-Usage-reporting-345563a461f0.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "73e74dc727ee",
      "title": "Network troubleshooting with tcpdump and strace",
      "published_at": "2019-02-14T16:46:09.776Z",
      "canonical_url": "https://medium.com/@FranckPachot/network-troubleshooting-with-tcpdump-and-strace-73e74dc727ee",
      "archive_path": "2018-medium/posts/2019-02-14_Network-troubleshooting-with-tcpdump-and-strace-73e74dc727ee.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "e1ccadc8f41",
      "title": "Where to check Data Guard gap?",
      "published_at": "2019-01-27T21:22:31.625Z",
      "canonical_url": "https://medium.com/@FranckPachot/where-to-check-data-guard-gap-e1ccadc8f41",
      "archive_path": "2018-medium/posts/2019-01-27_Where-to-check-Data-Guard-gap--e1ccadc8f41.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "81e3175eae7e",
      "title": "Oracle numbers in K/M/G/T/P/E",
      "published_at": "2019-01-24T17:16:25.258Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-numbers-in-k-m-g-t-p-e-81e3175eae7e",
      "archive_path": "2018-medium/posts/2019-01-24_Oracle-numbers-in-K-M-G-T-P-E-81e3175eae7e.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "9458e8521995",
      "title": "Ok, good to know.",
      "published_at": "2019-01-18T20:44:58.309Z",
      "canonical_url": "https://medium.com/@FranckPachot/ok-good-to-know-9458e8521995",
      "archive_path": "2018-medium/posts/2019-01-18_Ok--good-to-know--9458e8521995.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "83346ccf6a41",
      "title": "Oracle — Table lock modes",
      "published_at": "2019-01-18T08:41:29.988Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-table-lock-modes-83346ccf6a41",
      "archive_path": "2018-medium/posts/2019-01-18_Oracle---Table-lock-modes-83346ccf6a41.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "f5aa6700e17e",
      "title": "SYS.STATS_TARGET$",
      "published_at": "2019-01-16T19:42:59.705Z",
      "canonical_url": "https://medium.com/@FranckPachot/sys-stats-target-f5aa6700e17e",
      "archive_path": "2018-medium/posts/2019-01-16_SYS-STATS-TARGET--f5aa6700e17e.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "7761bc034704",
      "title": "You don’t need the PLAN_TABLE table",
      "published_at": "2019-01-10T20:15:19.379Z",
      "canonical_url": "https://medium.com/@FranckPachot/you-dont-need-the-plan-table-table-7761bc034704",
      "archive_path": "2018-medium/posts/2019-01-10_You-don-t-need-the-PLAN-TABLE-table-7761bc034704.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "1c2aa2aa3f32",
      "title": "Oracle global vs. partition level statistics CBO usage",
      "published_at": "2019-01-08T22:37:40.974Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-global-vs-partition-level-statistics-cbo-usage-1c2aa2aa3f32",
      "archive_path": "2018-medium/posts/2019-01-08_Oracle-global-vs--partition-level-statistics-CBO-usage-1c2aa2aa3f32.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "9c4145831389",
      "title": "Oracle literal vs bind-variable in partition pruning and Top-N queries",
      "published_at": "2019-01-07T20:00:17.270Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-literal-vs-bind-variable-in-partition-pruning-and-top-n-queries-9c4145831389",
      "archive_path": "2018-medium/posts/2019-01-07_Oracle-literal-vs-bind-variable-in-partition-pruning-and-Top-N-queries-9c4145831389.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "efc982f6aecd",
      "title": "Data Guard gap history",
      "published_at": "2019-01-06T14:05:42.556Z",
      "canonical_url": "https://medium.com/@FranckPachot/data-guard-gap-history-efc982f6aecd",
      "archive_path": "2018-medium/posts/2019-01-06_Data-Guard-gap-history-efc982f6aecd.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "b9dff0fbd5e9",
      "title": "Oracle listener static service hi-jacking",
      "published_at": "2019-01-05T20:31:12.685Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-listener-static-service-hi-jacking-b9dff0fbd5e9",
      "archive_path": "2018-medium/posts/2019-01-05_Oracle-listener-static-service-hi-jacking-b9dff0fbd5e9.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ab11aa7dbfe7",
      "title": "UUID (aka GUID) vs. Oracle sequence number",
      "published_at": "2018-12-31T15:24:52.682Z",
      "canonical_url": "https://medium.com/@FranckPachot/uuid-aka-guid-vs-oracle-sequence-number-ab11aa7dbfe7",
      "archive_path": "2018-medium/posts/2018-12-31_UUID--aka-GUID--vs--Oracle-sequence-number-ab11aa7dbfe7.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "302383103998",
      "title": "Index Only access with Oracle, MySQL, PostgreSQL, and Microsoft SQL Server",
      "published_at": "2018-12-26T21:32:54.481Z",
      "canonical_url": "https://medium.com/@FranckPachot/index-only-access-with-oracle-mysql-postgresql-and-microsoft-sql-server-302383103998",
      "archive_path": "2018-medium/posts/2018-12-26_Index-Only-access-with-Oracle--MySQL--PostgreSQL--and-Microsoft-SQL-Server-302383103998.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "c21680956a13",
      "title": "We still need partitions and indexes, and I will continue to commute by train even when…",
      "published_at": "2018-12-22T18:10:54.973Z",
      "canonical_url": "https://medium.com/@FranckPachot/we-still-need-partitions-and-indexes-and-i-will-continue-to-commute-by-train-even-when-c21680956a13",
      "archive_path": "2018-medium/posts/2018-12-22_We-still-need-partitions-and-indexes--and-I-will-continue-to-commute-by-train-even-when--c21680956a13.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "eabf77bc38bb",
      "title": "Oracle VPD as a safeguard for DML",
      "published_at": "2018-12-17T17:20:24.361Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-vpd-as-a-safeguard-for-dml-eabf77bc38bb",
      "archive_path": "2018-medium/posts/2018-12-17_Oracle-VPD-as-a-safeguard-for-DML-eabf77bc38bb.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "155",
      "title": "Oracle VPD as a safeguard for DML",
      "published_at": "2018-12-16T21:18:17+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-12-oracle-vpd-safeguard-dml",
      "archive_path": "cern/articles/155.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "aec8e4eec7f3",
      "title": "CPU Capacity planning from OEM metrics",
      "published_at": "2018-12-14T21:03:12.684Z",
      "canonical_url": "https://medium.com/@FranckPachot/cpu-capacity-planning-from-oem-metrics-aec8e4eec7f3",
      "archive_path": "2018-medium/posts/2018-12-14_CPU-Capacity-planning-from-OEM-metrics-aec8e4eec7f3.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ed47447e62a0",
      "title": "Minimal Oracle installation (and Docker image)",
      "published_at": "2018-12-11T06:56:27.461Z",
      "canonical_url": "https://medium.com/@FranckPachot/minimal-oracle-installation-and-docker-image-ed47447e62a0",
      "archive_path": "2018-medium/posts/2018-12-11_Minimal-Oracle-installation--and-Docker-image--ed47447e62a0.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "154",
      "title": "Minimal Oracle",
      "published_at": "2018-12-09T21:31:21+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-12-minimal-oracle",
      "archive_path": "cern/articles/154.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "afe4a2ad3b4e",
      "title": "See you in OBUG Tech Days Belgium",
      "published_at": "2018-12-07T15:56:27.453Z",
      "canonical_url": "https://medium.com/@FranckPachot/see-you-in-obug-tech-days-belgium-afe4a2ad3b4e",
      "archive_path": "2018-medium/posts/2018-12-07_See-you-in-OBUG-Tech-Days-Belgium-afe4a2ad3b4e.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "5f85d14c49ff",
      "title": "Oracle Index compression for range scan on file names",
      "published_at": "2018-12-01T10:54:28.069Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-index-compression-for-range-scan-on-file-names-5f85d14c49ff",
      "archive_path": "2018-medium/posts/2018-12-01_Oracle-Index-compression-for-range-scan-on-file-names-5f85d14c49ff.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "150",
      "title": "Oracle Index compression for range scan on file names",
      "published_at": "2018-11-30T12:44:53+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-11-oracle-index-compression-range-scan-file-names",
      "archive_path": "cern/articles/150.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "384b5f244e0c",
      "title": "Oracle Adaptive Plan info in OTHER_XML",
      "published_at": "2018-11-27T16:29:54.679Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-adaptive-plan-info-in-other-xml-384b5f244e0c",
      "archive_path": "2018-medium/posts/2018-11-27_Oracle-Adaptive-Plan-info-in-OTHER-XML-384b5f244e0c.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "a9eb6bb43c36",
      "title": "Oracle LIKE predicate and cardinality estimations",
      "published_at": "2018-11-11T20:25:13.441Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-like-predicate-and-cardinality-estimations-a9eb6bb43c36",
      "archive_path": "2018-medium/posts/2018-11-11_Oracle-LIKE-predicate-and-cardinality-estimations-a9eb6bb43c36.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "148",
      "title": "Oracle LIKE predicate and cardinality estimations",
      "published_at": "2018-11-11T20:01:45+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-11-oracle-predicate-and-cardinality-estimations",
      "archive_path": "cern/articles/148.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "d9c5cf094af4",
      "title": "What’s new in Oracle Database 19c and other #OOW18 feedback",
      "published_at": "2018-10-28T17:16:50.261Z",
      "canonical_url": "https://medium.com/@FranckPachot/whats-new-in-oracle-database-19c-and-other-oow18-feedback-d9c5cf094af4",
      "archive_path": "2018-medium/posts/2018-10-28_What-s-new-in-Oracle-Database-19c-and-other--OOW18-feedback-d9c5cf094af4.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "39c2d615e617",
      "title": "A new blog post on the Databases at CERN blog about the new 18.3 installation with .rpm:",
      "published_at": "2018-10-20T11:46:46.821Z",
      "canonical_url": "https://medium.com/@FranckPachot/a-new-blog-post-on-the-databases-at-cern-blog-about-the-new-18-3-installation-with-rpm-39c2d615e617",
      "archive_path": "2018-medium/posts/2018-10-20_A-new-blog-post-on-the-Databases-at-CERN-blog-about-the-new-18-3-installation-with--rpm--39c2d615e617.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "146",
      "title": "An .rpm to install Oracle Database 18c",
      "published_at": "2018-10-20T11:31:23+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-10-rpm-install-oracle-database-18c",
      "archive_path": "cern/articles/146.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ad502e54f145",
      "title": "ODC Appreciation Day: Reduce CPU usage by running the business logic in the Oracle Database",
      "published_at": "2018-10-11T15:44:41.600Z",
      "canonical_url": "https://medium.com/@FranckPachot/odc-appreciation-day-reduce-cpu-usage-by-running-the-business-logic-in-the-oracle-database-ad502e54f145",
      "archive_path": "2018-medium/posts/2018-10-11_ODC-Appreciation-Day--Reduce-CPU-usage-by-running-the-business-logic-in-the-Oracle-Database-ad502e54f145.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "145",
      "title": "ODC Appreciation Day : Reduce CPU usage by running the business logic in the Oracle Database",
      "published_at": "2018-10-11T10:51:43+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-10-odc-appreciation-day-reduce-cpu-usage-running-business-logic-oracle",
      "archive_path": "cern/articles/145.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "a674f552002e",
      "title": "Unindexed Foreign Keys in Oracle and PostgreSQL",
      "published_at": "2018-10-02T15:49:49.845Z",
      "canonical_url": "https://medium.com/@FranckPachot/unindexed-foreign-keys-in-oracle-and-postgresql-a674f552002e",
      "archive_path": "2018-medium/posts/2018-10-02_Unindexed-Foreign-Keys-in-Oracle-and-PostgreSQL-a674f552002e.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "143",
      "title": "Unindexed Foreign Keys in Oracle and PostgreSQL",
      "published_at": "2018-09-28T21:15:21+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-09-unindexed-foreign-keys-oracle-and-postgresql",
      "archive_path": "cern/articles/143.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "675f3861b144",
      "title": "Efficient query on DBA_EXTENTS for access by FILE_ID / BLOCK_ID",
      "published_at": "2018-09-28T15:37:54.486Z",
      "canonical_url": "https://medium.com/@FranckPachot/efficient-query-on-dba-extents-for-access-by-file-id-block-id-675f3861b144",
      "archive_path": "2018-medium/posts/2018-09-28_Efficient-query-on-DBA-EXTENTS-for-access-by-FILE-ID---BLOCK-ID-675f3861b144.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "abb00ed5bae7",
      "title": "Oracle write consistency, bug, and scalable multi-thread de-queuing",
      "published_at": "2018-09-27T19:16:51.405Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-write-consistency-bug-and-scalable-multi-thread-de-queuing-abb00ed5bae7",
      "archive_path": "2018-medium/posts/2018-09-27_Oracle-write-consistency--bug--and-scalable-multi-thread-de-queuing-abb00ed5bae7.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "142",
      "title": "Oracle write consistency bug and multi-thread de-queuing",
      "published_at": "2018-09-27T14:48:23+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-09-oracle-write-consistency-bug-and-multi-thread-de-queuing",
      "archive_path": "cern/articles/142.json",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "140",
      "title": "Efficiently query DBA_EXTENTS for FILE_ID / BLOCK_ID",
      "published_at": "2018-09-27T09:52:34+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-09-efficiently-query-dbaextents-fileid-blockid",
      "archive_path": "cern/articles/140.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "ecb7de0f2abf",
      "title": "Upload large files to Oracle Cloud with the Object Storage REST API",
      "published_at": "2018-09-26T12:44:58.177Z",
      "canonical_url": "https://medium.com/@FranckPachot/upload-large-files-to-oracle-cloud-with-the-object-storage-rest-api-ecb7de0f2abf",
      "archive_path": "2018-medium/posts/2018-09-26_Upload-large-files-to-Oracle-Cloud-with-the-Object-Storage-REST-API-ecb7de0f2abf.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "139",
      "title": "Oracle Cloud: upload large files through the Object Store REST API",
      "published_at": "2018-09-26T12:28:16+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-09-oracle-cloud-upload-large-files-through-object-store-rest-api",
      "archive_path": "cern/articles/139.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "333f1bfa6f90",
      "title": "Start/Stop your Autonomous Databases",
      "published_at": "2018-09-18T06:57:58.013Z",
      "canonical_url": "https://medium.com/@FranckPachot/start-stop-your-autonomous-databases-333f1bfa6f90",
      "archive_path": "2018-medium/posts/2018-09-18_Start-Stop-your-Autonomous-Databases-333f1bfa6f90.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "138",
      "title": "Oracle Cloud: start/stop automatically the Autonomous Databases",
      "published_at": "2018-09-16T19:38:01+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-09-oracle-cloud-startstop-automatically-autonomous-databases",
      "archive_path": "cern/articles/138.json",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "137",
      "title": "Oracle Cloud Infrastructure API Keys and OCID",
      "published_at": "2018-09-16T16:42:33+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-09-oracle-cloud-infrastructure-api-keys-and-ocid",
      "archive_path": "cern/articles/137.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "e6476b3a5006",
      "title": "How to gather Oracle optimizer statistics with minimal risks of regression",
      "published_at": "2018-09-14T15:55:37.097Z",
      "canonical_url": "https://medium.com/@FranckPachot/how-to-gather-oracle-optimizer-statistics-with-minimal-risks-of-regression-e6476b3a5006",
      "archive_path": "2018-medium/posts/2018-09-14_How-to-gather-Oracle-optimizer-statistics-with-minimal-risks-of-regression-e6476b3a5006.html",
      "tags": []
    },
    {
      "source": "cern",
      "source_id": "136",
      "title": "Optimizer Statistics Gathering - pending and history",
      "published_at": "2018-09-12T10:23:40+00:00",
      "canonical_url": "https://db-blog.web.cern.ch/blog/franck-pachot/2018-09-optimizer-statistics-gathering-pending-and-history",
      "archive_path": "cern/articles/136.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "33457ba4d2aa",
      "title": "Recursive queries on IM_DOMAIN$ at each cursor execution",
      "published_at": "2018-09-09T08:34:16.989Z",
      "canonical_url": "https://medium.com/@FranckPachot/recursive-queries-on-im-domain-at-each-cursor-execution-33457ba4d2aa",
      "archive_path": "2018-medium/posts/2018-09-09_Recursive-queries-on-IM-DOMAIN--at-each-cursor-execution-33457ba4d2aa.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "2a506f048ee5",
      "title": "ASM Filter Driver — simple test on filtering",
      "published_at": "2018-09-02T14:56:57.898Z",
      "canonical_url": "https://medium.com/@FranckPachot/asm-filter-driver-simple-test-on-filtering-2a506f048ee5",
      "archive_path": "2018-medium/posts/2018-09-02_ASM-Filter-Driver---simple-test-on-filtering-2a506f048ee5.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "bc4a726efbdb",
      "title": "Download your SR content from MOS",
      "published_at": "2018-08-31T09:09:24.807Z",
      "canonical_url": "https://medium.com/@FranckPachot/download-your-sr-content-from-mos-bc4a726efbdb",
      "archive_path": "2018-medium/posts/2018-08-31_Download-your-SR-content-from-MOS-bc4a726efbdb.html",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "a-tribute-to-natural-join",
      "title": "A tribute to Natural Join",
      "published_at": "2018-08-20T15:23:32",
      "canonical_url": "https://www.dbi-services.com/blog/a-tribute-to-natural-join/",
      "archive_path": "dbi-services/articles/a-tribute-to-natural-join.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "the-size-of-oracle-home-from-9gb-to-600mb",
      "title": "The size of Oracle Home: from 9GB to 600MB",
      "published_at": "2018-08-16T19:43:16",
      "canonical_url": "https://www.dbi-services.com/blog/the-size-of-oracle-home-from-9gb-to-600mb/",
      "archive_path": "dbi-services/articles/the-size-of-oracle-home-from-9gb-to-600mb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-database-on-openshift",
      "title": "Oracle Database on OpenShift",
      "published_at": "2018-08-14T20:39:44",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-database-on-openshift/",
      "archive_path": "dbi-services/articles/oracle-database-on-openshift.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle_home-with-symbolic-link-and-postupgrade_fixups",
      "title": "ORACLE_HOME with symbolic link and postupgrade_fixups",
      "published_at": "2018-08-13T12:26:24",
      "canonical_url": "https://www.dbi-services.com/blog/oracle_home-with-symbolic-link-and-postupgrade_fixups/",
      "archive_path": "dbi-services/articles/oracle_home-with-symbolic-link-and-postupgrade_fixups.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-runinstaller-silent",
      "title": "18c runInstaller -silent",
      "published_at": "2018-08-12T07:34:02",
      "canonical_url": "https://www.dbi-services.com/blog/18c-runinstaller-silent/",
      "archive_path": "dbi-services/articles/18c-runinstaller-silent.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "transport_connect_timeout-and-retry_count",
      "title": "TRANSPORT_CONNECT_TIMEOUT and RETRY_COUNT",
      "published_at": "2018-08-10T14:47:47",
      "canonical_url": "https://www.dbi-services.com/blog/transport_connect_timeout-and-retry_count/",
      "archive_path": "dbi-services/articles/transport_connect_timeout-and-retry_count.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "atp-vs-adw-the-autonomous-database-lockdown-profiles",
      "title": "ATP vs ADW – the Autonomous Database lockdown profiles",
      "published_at": "2018-08-09T19:49:35",
      "canonical_url": "https://www.dbi-services.com/blog/atp-vs-adw-the-autonomous-database-lockdown-profiles/",
      "archive_path": "dbi-services/articles/atp-vs-adw-the-autonomous-database-lockdown-profiles.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "merge-join-cartesian-a-join-method-or-a-join-type",
      "title": "MERGE JOIN CARTESIAN: a join method or a join type?",
      "published_at": "2018-08-08T22:00:27",
      "canonical_url": "https://www.dbi-services.com/blog/merge-join-cartesian-a-join-method-or-a-join-type/",
      "archive_path": "dbi-services/articles/merge-join-cartesian-a-join-method-or-a-join-type.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-much-free-space-can-be-reclaimed-from-a-segment",
      "title": "How much free space can be reclaimed from a segment?",
      "published_at": "2018-08-07T19:06:07",
      "canonical_url": "https://www.dbi-services.com/blog/how-much-free-space-can-be-reclaimed-from-a-segment/",
      "archive_path": "dbi-services/articles/how-much-free-space-can-be-reclaimed-from-a-segment.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-18c-preinstall-rpm-on-redhat-rhel",
      "title": "Oracle 18c preinstall RPM on RedHat RHEL",
      "published_at": "2018-08-03T22:03:46",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-18c-preinstall-rpm-on-redhat-rhel/",
      "archive_path": "dbi-services/articles/oracle-18c-preinstall-rpm-on-redhat-rhel.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "release-18-0-0-0-0-version-18-3-0-0-0-on-premises-binaries",
      "title": "Release 18.0.0.0.0 Version 18.3.0.0.0 On-Premises binaries",
      "published_at": "2018-07-24T10:57:55",
      "canonical_url": "https://www.dbi-services.com/blog/release-18-0-0-0-0-version-18-3-0-0-0-on-premises-binaries/",
      "archive_path": "dbi-services/articles/release-18-0-0-0-0-version-18-3-0-0-0-on-premises-binaries.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "7b821155591",
      "title": "Conferences 2018",
      "published_at": "2018-07-20T09:31:58.288Z",
      "canonical_url": "https://medium.com/@FranckPachot/conferences-2018-7b821155591",
      "archive_path": "2018-medium/posts/2018-07-20_Conferences-2018-7b821155591.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "2dd8bfcd54b5",
      "title": "Installing ZFS on OEL7 UEK4",
      "published_at": "2018-07-20T09:01:02.906Z",
      "canonical_url": "https://medium.com/@FranckPachot/installing-zfs-on-oel7-uek4-2dd8bfcd54b5",
      "archive_path": "2018-medium/posts/2018-07-20_Installing-ZFS-on-OEL7-UEK4-2dd8bfcd54b5.html",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "installing-zfs-on-oel7-uek4-for-docker-storage",
      "title": "Installing ZFS on OEL7 UEK4 for Docker storage",
      "published_at": "2018-07-20T04:08:20",
      "canonical_url": "https://www.dbi-services.com/blog/installing-zfs-on-oel7-uek4-for-docker-storage/",
      "archive_path": "dbi-services/articles/installing-zfs-on-oel7-uek4-for-docker-storage.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "google-cloud-spanner-inserting-data",
      "title": "Google Cloud Spanner – inserting data",
      "published_at": "2018-07-19T09:17:07",
      "canonical_url": "https://www.dbi-services.com/blog/google-cloud-spanner-inserting-data/",
      "archive_path": "dbi-services/articles/google-cloud-spanner-inserting-data.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "google-cloud-spanner-no-decimal-numeric-data-types",
      "title": "Google Cloud Spanner – no decimal numeric data types",
      "published_at": "2018-07-16T15:51:45",
      "canonical_url": "https://www.dbi-services.com/blog/google-cloud-spanner-no-decimal-numeric-data-types/",
      "archive_path": "dbi-services/articles/google-cloud-spanner-no-decimal-numeric-data-types.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "drilling-down-the-pgsentinel-active-session-history",
      "title": "Drilling down the pgSentinel Active Session History",
      "published_at": "2018-07-15T18:35:29",
      "canonical_url": "https://www.dbi-services.com/blog/drilling-down-the-pgsentinel-active-session-history/",
      "archive_path": "dbi-services/articles/drilling-down-the-pgsentinel-active-session-history.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "16601c06fd3a",
      "title": "Oracle: connection rate to the listener",
      "published_at": "2018-07-13T19:56:06.309Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-connection-rate-to-the-listener-16601c06fd3a",
      "archive_path": "2018-medium/posts/2018-07-13_Oracle--connection-rate-to-the-listener-16601c06fd3a.html",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pgsentinel-the-sampling-approach-for-postgresql",
      "title": "pgSentinel: the sampling approach for PostgreSQL",
      "published_at": "2018-07-12T22:12:13",
      "canonical_url": "https://www.dbi-services.com/blog/pgsentinel-the-sampling-approach-for-postgresql/",
      "archive_path": "dbi-services/articles/pgsentinel-the-sampling-approach-for-postgresql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "data-guard-always-set-db_create_file_dest-on-the-standby",
      "title": "Data Guard: always set db_create_file_dest on the standby",
      "published_at": "2018-07-09T17:21:18",
      "canonical_url": "https://www.dbi-services.com/blog/data-guard-always-set-db_create_file_dest-on-the-standby/",
      "archive_path": "dbi-services/articles/data-guard-always-set-db_create_file_dest-on-the-standby.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "bb900f473827",
      "title": "Stays One Step Ahead With Certification",
      "published_at": "2018-07-07T16:33:05.886Z",
      "canonical_url": "https://medium.com/@FranckPachot/stays-one-step-ahead-with-certification-bb900f473827",
      "archive_path": "2018-medium/posts/2018-07-07_Stays-One-Step-Ahead-With-Certification-bb900f473827.html",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "my-tmux-scripts-to-script-demos",
      "title": "My tmux scripts to script demos",
      "published_at": "2018-07-06T15:27:01",
      "canonical_url": "https://www.dbi-services.com/blog/my-tmux-scripts-to-script-demos/",
      "archive_path": "dbi-services/articles/my-tmux-scripts-to-script-demos.json",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "e71f650e3300",
      "title": "Oracle archivelog deletion policy",
      "published_at": "2018-07-06T14:08:24.770Z",
      "canonical_url": "https://medium.com/@FranckPachot/oracle-archivelog-deletion-policy-e71f650e3300",
      "archive_path": "2018-medium/posts/2018-07-06_Oracle-archivelog-deletion-policy-e71f650e3300.html",
      "tags": []
    },
    {
      "source": "medium",
      "source_id": "38594cf6a11a",
      "title": "strace the current Oracle session process",
      "published_at": "2018-07-06T13:57:44.432Z",
      "canonical_url": "https://medium.com/@FranckPachot/strace-the-current-oracle-session-process-38594cf6a11a",
      "archive_path": "2018-medium/posts/2018-07-06_strace-the-current-Oracle-session-process-38594cf6a11a.html",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-order-by-in-with-clause-is-not-preserved",
      "title": "18c: Order by in WITH clause is not preserved",
      "published_at": "2018-07-05T19:29:17",
      "canonical_url": "https://www.dbi-services.com/blog/18c-order-by-in-with-clause-is-not-preserved/",
      "archive_path": "dbi-services/articles/18c-order-by-in-with-clause-is-not-preserved.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-some-optimization-about-redo-size",
      "title": "18c: some optimization about redo size",
      "published_at": "2018-07-03T20:19:48",
      "canonical_url": "https://www.dbi-services.com/blog/18c-some-optimization-about-redo-size/",
      "archive_path": "dbi-services/articles/18c-some-optimization-about-redo-size.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "event-sourcing-cqn-is-not-a-replacement-for-cdc",
      "title": "Event Sourcing: CQN is not a replacement for CDC",
      "published_at": "2018-07-02T21:02:43",
      "canonical_url": "https://www.dbi-services.com/blog/event-sourcing-cqn-is-not-a-replacement-for-cdc/",
      "archive_path": "dbi-services/articles/event-sourcing-cqn-is-not-a-replacement-for-cdc.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "statspack-installation-scripts",
      "title": "Statspack installation scripts",
      "published_at": "2018-06-29T19:24:30",
      "canonical_url": "https://www.dbi-services.com/blog/statspack-installation-scripts/",
      "archive_path": "dbi-services/articles/statspack-installation-scripts.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pgio-pg_stat_activity-and-pg_stat_statements",
      "title": "PGIO, PG_STAT_ACTIVITY and PG_STAT_STATEMENTS",
      "published_at": "2018-06-28T06:22:56",
      "canonical_url": "https://www.dbi-services.com/blog/pgio-pg_stat_activity-and-pg_stat_statements/",
      "archive_path": "dbi-services/articles/pgio-pg_stat_activity-and-pg_stat_statements.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "lighty-for-postgresql",
      "title": "Lighty for PostgreSQL",
      "published_at": "2018-06-27T20:00:23",
      "canonical_url": "https://www.dbi-services.com/blog/lighty-for-postgresql/",
      "archive_path": "dbi-services/articles/lighty-for-postgresql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "kernel-panic-not-syncing-out-of-memory-and-no-killable-processes",
      "title": "Kernel panic – not syncing: Out of memory and no killable processes",
      "published_at": "2018-06-26T15:37:09",
      "canonical_url": "https://www.dbi-services.com/blog/kernel-panic-not-syncing-out-of-memory-and-no-killable-processes/",
      "archive_path": "dbi-services/articles/kernel-panic-not-syncing-out-of-memory-and-no-killable-processes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-no-active-data-guard-required-and-detected-when-only-cdbroot-and-pdbseed-are-opened-in-read-only",
      "title": "18c: No Active Data Guard required (and detected) when only CDB$ROOT and PDB$SEED are opened in read-only",
      "published_at": "2018-06-24T19:32:21",
      "canonical_url": "https://www.dbi-services.com/blog/18c-no-active-data-guard-required-and-detected-when-only-cdbroot-and-pdbseed-are-opened-in-read-only/",
      "archive_path": "dbi-services/articles/18c-no-active-data-guard-required-and-detected-when-only-cdbroot-and-pdbseed-are-opened-in-read-only.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "introduction-to-database-for-power-coders-with-mysql",
      "title": "Introduction to databases for {Power.Coders} with MySQL",
      "published_at": "2018-06-22T20:04:04",
      "canonical_url": "https://www.dbi-services.com/blog/introduction-to-database-for-power-coders-with-mysql/",
      "archive_path": "dbi-services/articles/introduction-to-database-for-power-coders-with-mysql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "remote-syslog-from-linux-and-solaris",
      "title": "Remote syslog from Linux and Solaris",
      "published_at": "2018-06-20T15:47:55",
      "canonical_url": "https://www.dbi-services.com/blog/remote-syslog-from-linux-and-solaris/",
      "archive_path": "dbi-services/articles/remote-syslog-from-linux-and-solaris.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adwc-new-oci-interface",
      "title": "ADWC new OCI interface",
      "published_at": "2018-06-17T19:51:51",
      "canonical_url": "https://www.dbi-services.com/blog/adwc-new-oci-interface/",
      "archive_path": "dbi-services/articles/adwc-new-oci-interface.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "change-data-capture-from-oracle-with-streamset-data-collector",
      "title": "Change Data Capture from Oracle with StreamSets Data Collector",
      "published_at": "2018-06-11T12:21:24",
      "canonical_url": "https://www.dbi-services.com/blog/change-data-capture-from-oracle-with-streamset-data-collector/",
      "archive_path": "dbi-services/articles/change-data-capture-from-oracle-with-streamset-data-collector.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "installing-mamp-to-play-with-php-mysql-and-openflights",
      "title": "Installing MAMP to play with PHP, MySQL and OpenFlights",
      "published_at": "2018-06-02T07:30:04",
      "canonical_url": "https://www.dbi-services.com/blog/installing-mamp-to-play-with-php-mysql-and-openflights/",
      "archive_path": "dbi-services/articles/installing-mamp-to-play-with-php-mysql-and-openflights.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sqlcl-connect-target-depends-on-previous-connection",
      "title": "SQLcl connect target depends on previous connection",
      "published_at": "2018-06-01T10:36:09",
      "canonical_url": "https://www.dbi-services.com/blog/sqlcl-connect-target-depends-on-previous-connection/",
      "archive_path": "dbi-services/articles/sqlcl-connect-target-depends-on-previous-connection.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "openshift-on-my-windows-10-laptop-with-minishift",
      "title": "OpenShift on my Windows 10 laptop with MiniShift",
      "published_at": "2018-05-31T06:23:02",
      "canonical_url": "https://www.dbi-services.com/blog/openshift-on-my-windows-10-laptop-with-minishift/",
      "archive_path": "dbi-services/articles/openshift-on-my-windows-10-laptop-with-minishift.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "which-bitnami-service-to-choose-in-the-oracle-cloud-infrastructure",
      "title": "Which Bitnami service to choose in the Oracle Cloud Infrastructure?",
      "published_at": "2018-05-25T20:40:50",
      "canonical_url": "https://www.dbi-services.com/blog/which-bitnami-service-to-choose-in-the-oracle-cloud-infrastructure/",
      "archive_path": "dbi-services/articles/which-bitnami-service-to-choose-in-the-oracle-cloud-infrastructure.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-the-fsync-issue-and-pgio-the-slob-method-for-postgresql",
      "title": "Postgres, the fsync() issue, and ‘pgio’ (the SLOB method for PostgreSQL)",
      "published_at": "2018-05-24T13:05:35",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-the-fsync-issue-and-pgio-the-slob-method-for-postgresql/",
      "archive_path": "dbi-services/articles/postgres-the-fsync-issue-and-pgio-the-slob-method-for-postgresql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adwc-system-and-session-settings-dwcs-lockdown-profile",
      "title": "ADWC – System and session settings (DWCS lockdown profile)",
      "published_at": "2018-05-24T10:04:33",
      "canonical_url": "https://www.dbi-services.com/blog/adwc-system-and-session-settings-dwcs-lockdown-profile/",
      "archive_path": "dbi-services/articles/adwc-system-and-session-settings-dwcs-lockdown-profile.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-upuserxt-lst-upobjxt-lst-oracle-maintained-objectsusers",
      "title": "12c upuserxt.lst, upobjxt.lst & Oracle Maintained objects/users",
      "published_at": "2018-05-15T21:24:35",
      "canonical_url": "https://www.dbi-services.com/blog/12c-upuserxt-lst-upobjxt-lst-oracle-maintained-objectsusers/",
      "archive_path": "dbi-services/articles/12c-upuserxt-lst-upobjxt-lst-oracle-maintained-objectsusers.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adwc-connect-from-your-premises",
      "title": "ADWC – connect from your premises",
      "published_at": "2018-05-14T10:44:03",
      "canonical_url": "https://www.dbi-services.com/blog/adwc-connect-from-your-premises/",
      "archive_path": "dbi-services/articles/adwc-connect-from-your-premises.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sql-developer-web-on-the-oracle-cloud",
      "title": "SQL Developer Web on the Oracle Cloud",
      "published_at": "2018-05-10T17:21:39",
      "canonical_url": "https://www.dbi-services.com/blog/sql-developer-web-on-the-oracle-cloud/",
      "archive_path": "dbi-services/articles/sql-developer-web-on-the-oracle-cloud.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "some-ideas-about-oracle-database-on-docker",
      "title": "Some ideas about Oracle Database on Docker",
      "published_at": "2018-05-08T20:55:43",
      "canonical_url": "https://www.dbi-services.com/blog/some-ideas-about-oracle-database-on-docker/",
      "archive_path": "dbi-services/articles/some-ideas-about-oracle-database-on-docker.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adwc-the-hidden-gem-zepplin-notebook",
      "title": "ADWC – the hidden gem: Zepplin Notebook",
      "published_at": "2018-05-04T19:22:46",
      "canonical_url": "https://www.dbi-services.com/blog/adwc-the-hidden-gem-zepplin-notebook/",
      "archive_path": "dbi-services/articles/adwc-the-hidden-gem-zepplin-notebook.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adwc-a-docker-container-to-startstop-oracle-cloud-services",
      "title": "ADWC – a Docker container to start/stop Oracle Cloud services",
      "published_at": "2018-05-03T06:08:43",
      "canonical_url": "https://www.dbi-services.com/blog/adwc-a-docker-container-to-startstop-oracle-cloud-services/",
      "archive_path": "dbi-services/articles/adwc-a-docker-container-to-startstop-oracle-cloud-services.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adwc-startstop-with-psm-command-line-interface",
      "title": "ADWC:  start/stop with PSM Command Line Interface",
      "published_at": "2018-05-02T04:10:19",
      "canonical_url": "https://www.dbi-services.com/blog/adwc-startstop-with-psm-command-line-interface/",
      "archive_path": "dbi-services/articles/adwc-startstop-with-psm-command-line-interface.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adwc-creation-of-autonomous-database-cloud-service",
      "title": "ADWC: Creation of Autonomous Data Warehouse Cloud service",
      "published_at": "2018-05-01T04:00:50",
      "canonical_url": "https://www.dbi-services.com/blog/adwc-creation-of-autonomous-database-cloud-service/",
      "archive_path": "dbi-services/articles/adwc-creation-of-autonomous-database-cloud-service.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "covering-indexes-in-oracle-and-branch-size",
      "title": "Covering indexes in Oracle, and branch size",
      "published_at": "2018-04-13T21:01:17",
      "canonical_url": "https://www.dbi-services.com/blog/covering-indexes-in-oracle-and-branch-size/",
      "archive_path": "dbi-services/articles/covering-indexes-in-oracle-and-branch-size.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "after-iot-iop-makes-its-way-to-the-database",
      "title": "After IoT, IoP makes its way to the database",
      "published_at": "2018-04-01T02:00:25",
      "canonical_url": "https://www.dbi-services.com/blog/after-iot-iop-makes-its-way-to-the-database/",
      "archive_path": "dbi-services/articles/after-iot-iop-makes-its-way-to-the-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "docker-efficiently-building-images-for-large-software",
      "title": "Docker: efficiently building images for large software",
      "published_at": "2018-03-31T16:30:56",
      "canonical_url": "https://www.dbi-services.com/blog/docker-efficiently-building-images-for-large-software/",
      "archive_path": "dbi-services/articles/docker-efficiently-building-images-for-large-software.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "docker-ce-on-oracle-enterprise-linux-7",
      "title": "Docker-CE on Oracle Enterprise Linux 7",
      "published_at": "2018-03-29T20:32:56",
      "canonical_url": "https://www.dbi-services.com/blog/docker-ce-on-oracle-enterprise-linux-7/",
      "archive_path": "dbi-services/articles/docker-ce-on-oracle-enterprise-linux-7.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "result-cache-invalidation-caused-by-dml-locks",
      "title": "Result cache invalidation caused by DML locks",
      "published_at": "2018-03-18T21:03:33",
      "canonical_url": "https://www.dbi-services.com/blog/result-cache-invalidation-caused-by-dml-locks/",
      "archive_path": "dbi-services/articles/result-cache-invalidation-caused-by-dml-locks.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-pdb-switchover",
      "title": "18c PDB switchover",
      "published_at": "2018-03-11T13:58:46",
      "canonical_url": "https://www.dbi-services.com/blog/18c-pdb-switchover/",
      "archive_path": "dbi-services/articles/18c-pdb-switchover.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "enabled-accepted-fixed-sql-plan-baselines",
      "title": "Enabled, Accepted, Fixed SQL Plan Baselines",
      "published_at": "2018-03-09T21:44:56",
      "canonical_url": "https://www.dbi-services.com/blog/enabled-accepted-fixed-sql-plan-baselines/",
      "archive_path": "dbi-services/articles/enabled-accepted-fixed-sql-plan-baselines.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-new-lost-write-protection",
      "title": "18c new Lost Write Protection",
      "published_at": "2018-03-03T22:26:16",
      "canonical_url": "https://www.dbi-services.com/blog/18c-new-lost-write-protection/",
      "archive_path": "dbi-services/articles/18c-new-lost-write-protection.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-dbms_xplan-note-about-failed-sql-plan-baseline",
      "title": "18c dbms_xplan note about failed SQL Plan Baseline",
      "published_at": "2018-02-27T21:17:53",
      "canonical_url": "https://www.dbi-services.com/blog/18c-dbms_xplan-note-about-failed-sql-plan-baseline/",
      "archive_path": "dbi-services/articles/18c-dbms_xplan-note-about-failed-sql-plan-baseline.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-cloud-first-and-cloud-only-features-think-differently",
      "title": "18c, Cloud First and Cloud Only features: think differently",
      "published_at": "2018-02-26T20:48:50",
      "canonical_url": "https://www.dbi-services.com/blog/18c-cloud-first-and-cloud-only-features-think-differently/",
      "archive_path": "dbi-services/articles/18c-cloud-first-and-cloud-only-features-think-differently.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "a-free-persistent-google-cloud-service-with-oracle-xe",
      "title": "A free persistent Google Cloud service with Oracle XE",
      "published_at": "2018-02-26T07:40:43",
      "canonical_url": "https://www.dbi-services.com/blog/a-free-persistent-google-cloud-service-with-oracle-xe/",
      "archive_path": "dbi-services/articles/a-free-persistent-google-cloud-service-with-oracle-xe.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pdb-upgrade-from-12c-to-18c",
      "title": "PDB upgrade from 12c to 18c",
      "published_at": "2018-02-25T20:20:04",
      "canonical_url": "https://www.dbi-services.com/blog/pdb-upgrade-from-12c-to-18c/",
      "archive_path": "dbi-services/articles/pdb-upgrade-from-12c-to-18c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-lite-what-is-this-odacli-repository",
      "title": "ODA Lite: What is this ‘odacli’ repository?",
      "published_at": "2018-02-23T21:00:08",
      "canonical_url": "https://www.dbi-services.com/blog/oda-lite-what-is-this-odacli-repository/",
      "archive_path": "dbi-services/articles/oda-lite-what-is-this-odacli-repository.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "18c-read-only-oracle-home",
      "title": "18c Read Only Oracle Home",
      "published_at": "2018-02-18T19:49:34",
      "canonical_url": "https://www.dbi-services.com/blog/18c-read-only-oracle-home/",
      "archive_path": "dbi-services/articles/18c-read-only-oracle-home.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "description_listdescriptionaddress_listfailoveryesload_balanceno",
      "title": "(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS_LIST=(FAILOVER=YES)(LOAD_BALANCE=NO)",
      "published_at": "2018-02-15T06:02:57",
      "canonical_url": "https://www.dbi-services.com/blog/description_listdescriptionaddress_listfailoveryesload_balanceno/",
      "archive_path": "dbi-services/articles/description_listdescriptionaddress_listfailoveryesload_balanceno.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "full-page-logging-in-postgres-and-oracle",
      "title": "Full page logging in Postgres and Oracle",
      "published_at": "2018-02-14T20:13:48",
      "canonical_url": "https://www.dbi-services.com/blog/full-page-logging-in-postgres-and-oracle/",
      "archive_path": "dbi-services/articles/full-page-logging-in-postgres-and-oracle.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "vmystat-delta-values",
      "title": "V$MYSTAT delta values",
      "published_at": "2018-02-12T20:32:28",
      "canonical_url": "https://www.dbi-services.com/blog/vmystat-delta-values/",
      "archive_path": "dbi-services/articles/vmystat-delta-values.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "server-process-name-in-postgres-and-oracle",
      "title": "Server process name in Postgres and Oracle",
      "published_at": "2018-02-09T22:01:26",
      "canonical_url": "https://www.dbi-services.com/blog/server-process-name-in-postgres-and-oracle/",
      "archive_path": "dbi-services/articles/server-process-name-in-postgres-and-oracle.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-pdb-archive",
      "title": "12cR2 PDB archive",
      "published_at": "2018-02-07T19:50:34",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-pdb-archive/",
      "archive_path": "dbi-services/articles/12cr2-pdb-archive.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "jan18-database-11gr2-psu-12cr1-proactivebp-12cr2-ru",
      "title": "JAN18: Database 11gR2 PSU, 12cR1 ProactiveBP, 12cR2 RU",
      "published_at": "2018-02-06T21:32:19",
      "canonical_url": "https://www.dbi-services.com/blog/jan18-database-11gr2-psu-12cr1-proactivebp-12cr2-ru/",
      "archive_path": "dbi-services/articles/jan18-database-11gr2-psu-12cr1-proactivebp-12cr2-ru.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-pdb-save-state-services-and-standby-databases",
      "title": "Multitenant, PDB, ‘save state’, services and standby databases",
      "published_at": "2018-02-05T21:12:44",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-pdb-save-state-services-and-standby-databases/",
      "archive_path": "dbi-services/articles/multitenant-pdb-save-state-services-and-standby-databases.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "result-cache-when-not-to-use-it",
      "title": "Result Cache: when *not* to use it",
      "published_at": "2018-01-29T21:39:28",
      "canonical_url": "https://www.dbi-services.com/blog/result-cache-when-not-to-use-it/",
      "archive_path": "dbi-services/articles/result-cache-when-not-to-use-it.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "testing-oracle-sql-online",
      "title": "Testing Oracle SQL online",
      "published_at": "2018-01-27T22:38:36",
      "canonical_url": "https://www.dbi-services.com/blog/testing-oracle-sql-online/",
      "archive_path": "dbi-services/articles/testing-oracle-sql-online.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "explain-plan-format",
      "title": "Explain Plan format",
      "published_at": "2018-01-24T16:57:07",
      "canonical_url": "https://www.dbi-services.com/blog/explain-plan-format/",
      "archive_path": "dbi-services/articles/explain-plan-format.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "unplug-an-encrypted-pdb-ora-46680-master-keys-of-the-container-database-must-be-exported",
      "title": "Unplug an Encrypted PDB (ORA-46680: master keys of the container database must be exported)",
      "published_at": "2018-01-20T22:16:45",
      "canonical_url": "https://www.dbi-services.com/blog/unplug-an-encrypted-pdb-ora-46680-master-keys-of-the-container-database-must-be-exported/",
      "archive_path": "dbi-services/articles/unplug-an-encrypted-pdb-ora-46680-master-keys-of-the-container-database-must-be-exported.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "spectre-and-meltdown-on-oracle-public-cloud-uek",
      "title": "Spectre and Meltdown on Oracle Public Cloud UEK – LIO",
      "published_at": "2018-01-14T20:12:07",
      "canonical_url": "https://www.dbi-services.com/blog/spectre-and-meltdown-on-oracle-public-cloud-uek/",
      "archive_path": "dbi-services/articles/spectre-and-meltdown-on-oracle-public-cloud-uek.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "spectremeltdown-on-oracle-public-cloud-uek-pio",
      "title": "Spectre/Meltdown on Oracle Public Cloud UEK – PIO",
      "published_at": "2018-01-13T16:24:15",
      "canonical_url": "https://www.dbi-services.com/blog/spectremeltdown-on-oracle-public-cloud-uek-pio/",
      "archive_path": "dbi-services/articles/spectremeltdown-on-oracle-public-cloud-uek-pio.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "spectre-and-meltdown-oracle-database-aws-slob",
      "title": "Spectre and Meltdown, Oracle Database, AWS, SLOB",
      "published_at": "2018-01-09T21:23:29",
      "canonical_url": "https://www.dbi-services.com/blog/spectre-and-meltdown-oracle-database-aws-slob/",
      "archive_path": "dbi-services/articles/spectre-and-meltdown-oracle-database-aws-slob.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "keep-your-orapw-password-file-secure",
      "title": "Keep your orapw password file secure",
      "published_at": "2018-01-05T12:02:45",
      "canonical_url": "https://www.dbi-services.com/blog/keep-your-orapw-password-file-secure/",
      "archive_path": "dbi-services/articles/keep-your-orapw-password-file-secure.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-multitenant-internals-pdb_plug_in_violations",
      "title": "12c Multitenant internals: PDB_PLUG_IN_VIOLATIONS",
      "published_at": "2017-12-30T19:54:51",
      "canonical_url": "https://www.dbi-services.com/blog/12c-multitenant-internals-pdb_plug_in_violations/",
      "archive_path": "dbi-services/articles/12c-multitenant-internals-pdb_plug_in_violations.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-multitenant-internals-pdb-replay-ddl-for-common-users",
      "title": "12c Multitenant internals: PDB replay DDL for common users",
      "published_at": "2017-12-29T22:05:47",
      "canonical_url": "https://www.dbi-services.com/blog/12c-multitenant-internals-pdb-replay-ddl-for-common-users/",
      "archive_path": "dbi-services/articles/12c-multitenant-internals-pdb-replay-ddl-for-common-users.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "drop-pdb-including-datafiles-may-keep-files-open",
      "title": "Drop PDB including datafiles may keep files open",
      "published_at": "2017-12-25T19:14:01",
      "canonical_url": "https://www.dbi-services.com/blog/drop-pdb-including-datafiles-may-keep-files-open/",
      "archive_path": "dbi-services/articles/drop-pdb-including-datafiles-may-keep-files-open.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-subquery-elimination",
      "title": "12cR2 Subquery Elimination",
      "published_at": "2017-12-21T21:27:19",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-subquery-elimination/",
      "archive_path": "dbi-services/articles/12cr2-subquery-elimination.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-docker-image-from-docker-store",
      "title": "Oracle docker image from docker store",
      "published_at": "2017-12-15T06:54:35",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-docker-image-from-docker-store/",
      "archive_path": "dbi-services/articles/oracle-docker-image-from-docker-store.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "impdp-logtimeall-metricsy-and-12cr2-parallel-metadata",
      "title": "impdp logtime=all metrics=y and 12cR2 parallel metadata",
      "published_at": "2017-11-28T20:35:29",
      "canonical_url": "https://www.dbi-services.com/blog/impdp-logtimeall-metricsy-and-12cr2-parallel-metadata/",
      "archive_path": "dbi-services/articles/impdp-logtimeall-metricsy-and-12cr2-parallel-metadata.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-multitenant-internals-compiling-system-package-from-pdb",
      "title": "12c Multitenant Internals: compiling system package from PDB",
      "published_at": "2017-11-22T13:38:23",
      "canonical_url": "https://www.dbi-services.com/blog/12c-multitenant-internals-compiling-system-package-from-pdb/",
      "archive_path": "dbi-services/articles/12c-multitenant-internals-compiling-system-package-from-pdb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "unstructed-vs-structured",
      "title": "Unstructured vs. structured",
      "published_at": "2017-11-18T07:13:03",
      "canonical_url": "https://www.dbi-services.com/blog/unstructed-vs-structured/",
      "archive_path": "dbi-services/articles/unstructed-vs-structured.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cbo-first_rows-and-view-misestimate",
      "title": "CBO, FIRST_ROWS and VIEW misestimate",
      "published_at": "2017-11-17T05:36:10",
      "canonical_url": "https://www.dbi-services.com/blog/cbo-first_rows-and-view-misestimate/",
      "archive_path": "dbi-services/articles/cbo-first_rows-and-view-misestimate.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dynamic-sampling-vs-extended-statistics",
      "title": "Dynamic Sampling vs. Extended Statistics",
      "published_at": "2017-11-14T16:09:14",
      "canonical_url": "https://www.dbi-services.com/blog/dynamic-sampling-vs-extended-statistics/",
      "archive_path": "dbi-services/articles/dynamic-sampling-vs-extended-statistics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-internals-int-and-intint-views",
      "title": "Multitenant internals: INT$ and INT$INT$ views",
      "published_at": "2017-11-05T19:24:53",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-internals-int-and-intint-views/",
      "archive_path": "dbi-services/articles/multitenant-internals-int-and-intint-views.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-dictionary-what-is-consolidated-and-what-is-not",
      "title": "Multitenant dictionary: what is consolidated and what is not",
      "published_at": "2017-11-05T17:38:31",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-dictionary-what-is-consolidated-and-what-is-not/",
      "archive_path": "dbi-services/articles/multitenant-dictionary-what-is-consolidated-and-what-is-not.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "quick-history-on-database-growth",
      "title": "Quick history on database growth",
      "published_at": "2017-11-02T17:13:29",
      "canonical_url": "https://www.dbi-services.com/blog/quick-history-on-database-growth/",
      "archive_path": "dbi-services/articles/quick-history-on-database-growth.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dbvisit-replicate-sql-developer-chart",
      "title": "Dbvisit replicate – SQL Developer chart",
      "published_at": "2017-10-31T19:27:00",
      "canonical_url": "https://www.dbi-services.com/blog/dbvisit-replicate-sql-developer-chart/",
      "archive_path": "dbi-services/articles/dbvisit-replicate-sql-developer-chart.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "max-pdbs-in-standard-edition",
      "title": "Max PDBs in Standard Edition",
      "published_at": "2017-10-26T19:26:48",
      "canonical_url": "https://www.dbi-services.com/blog/max-pdbs-in-standard-edition/",
      "archive_path": "dbi-services/articles/max-pdbs-in-standard-edition.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "database-is-more-than-persistence-it-is-shared-my-thoughts-about-microservice-database",
      "title": "Database is more than persistence. It is shared. My thoughts about Microservice Database.",
      "published_at": "2017-10-22T19:36:02",
      "canonical_url": "https://www.dbi-services.com/blog/database-is-more-than-persistence-it-is-shared-my-thoughts-about-microservice-database/",
      "archive_path": "dbi-services/articles/database-is-more-than-persistence-it-is-shared-my-thoughts-about-microservice-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "archivelog-deletion-policy-on-data-guard-configuration",
      "title": "Archivelog deletion policy on Data Guard configuration",
      "published_at": "2017-10-22T19:02:31",
      "canonical_url": "https://www.dbi-services.com/blog/archivelog-deletion-policy-on-data-guard-configuration/",
      "archive_path": "dbi-services/articles/archivelog-deletion-policy-on-data-guard-configuration.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "virtualbox-5-2-exports-the-vm-to-the-oracle-cloud",
      "title": "VirtualBox 5.2 exports the VM to the Oracle Cloud",
      "published_at": "2017-10-21T15:32:35",
      "canonical_url": "https://www.dbi-services.com/blog/virtualbox-5-2-exports-the-vm-to-the-oracle-cloud/",
      "archive_path": "dbi-services/articles/virtualbox-5-2-exports-the-vm-to-the-oracle-cloud.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-database-multilingual-engine-mle",
      "title": "Oracle Database Multilingual Engine (MLE)",
      "published_at": "2017-10-11T06:35:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-database-multilingual-engine-mle/",
      "archive_path": "dbi-services/articles/oracle-database-multilingual-engine-mle.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "odc-appreciation-day-javascript-in-the-database",
      "title": "ODC Appreciation Day : Javascript in the database",
      "published_at": "2017-10-10T04:00:14",
      "canonical_url": "https://www.dbi-services.com/blog/odc-appreciation-day-javascript-in-the-database/",
      "archive_path": "dbi-services/articles/odc-appreciation-day-javascript-in-the-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "autonomous-database",
      "title": "Autonomous Database",
      "published_at": "2017-10-08T17:09:39",
      "canonical_url": "https://www.dbi-services.com/blog/autonomous-database/",
      "archive_path": "dbi-services/articles/autonomous-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-x7",
      "title": "ODA X7",
      "published_at": "2017-10-03T19:58:43",
      "canonical_url": "https://www.dbi-services.com/blog/oda-x7/",
      "archive_path": "dbi-services/articles/oda-x7.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-18c-ru-and-rur-for-pioneers-and-followers",
      "title": "Oracle 18c RU and RUR for pioneers and followers",
      "published_at": "2017-10-03T13:44:11",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-18c-ru-and-rur-for-pioneers-and-followers/",
      "archive_path": "dbi-services/articles/oracle-18c-ru-and-rur-for-pioneers-and-followers.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "_suppress_identifiers_on_dupkey-the-sap-workaround-for-bad-design",
      "title": "“_suppress_identifiers_on_dupkey” – the SAP workaround for bad design",
      "published_at": "2017-09-29T13:01:15",
      "canonical_url": "https://www.dbi-services.com/blog/_suppress_identifiers_on_dupkey-the-sap-workaround-for-bad-design/",
      "archive_path": "dbi-services/articles/_suppress_identifiers_on_dupkey-the-sap-workaround-for-bad-design.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "when-deterministic-function-is-not",
      "title": "When deterministic function is not",
      "published_at": "2017-09-26T19:47:10",
      "canonical_url": "https://www.dbi-services.com/blog/when-deterministic-function-is-not/",
      "archive_path": "dbi-services/articles/when-deterministic-function-is-not.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "am-i-a-dba-3-0-or-just-an-sqldba",
      "title": "Am I a DBA 3.0 or just an SQL*DBA?",
      "published_at": "2017-09-24T18:47:19",
      "canonical_url": "https://www.dbi-services.com/blog/am-i-a-dba-3-0-or-just-an-sqldba/",
      "archive_path": "dbi-services/articles/am-i-a-dba-3-0-or-just-an-sqldba.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "wrong-result-with-multitenant-dba_contraints-and-current_schema",
      "title": "Wrong result with multitenant, dba_contraints and current_schema",
      "published_at": "2017-09-23T20:03:20",
      "canonical_url": "https://www.dbi-services.com/blog/wrong-result-with-multitenant-dba_contraints-and-current_schema/",
      "archive_path": "dbi-services/articles/wrong-result-with-multitenant-dba_contraints-and-current_schema.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "active-data-guard-services-in-multitenant",
      "title": "Active Data Guard services in Multitenant",
      "published_at": "2017-09-15T22:36:20",
      "canonical_url": "https://www.dbi-services.com/blog/active-data-guard-services-in-multitenant/",
      "archive_path": "dbi-services/articles/active-data-guard-services-in-multitenant.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-access-control-lists",
      "title": "12c Access Control Lists",
      "published_at": "2017-09-10T19:39:21",
      "canonical_url": "https://www.dbi-services.com/blog/12c-access-control-lists/",
      "archive_path": "dbi-services/articles/12c-access-control-lists.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "create-constraints-in-your-datawarehouse-why-and-how",
      "title": "Create constraints in your datawarehouse – why and how",
      "published_at": "2017-09-08T19:13:21",
      "canonical_url": "https://www.dbi-services.com/blog/create-constraints-in-your-datawarehouse-why-and-how/",
      "archive_path": "dbi-services/articles/create-constraints-in-your-datawarehouse-why-and-how.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "impdp-contentmetadata_only-locks-the-stats",
      "title": "impdp content=metadata_only locks the stats",
      "published_at": "2017-09-06T20:20:38",
      "canonical_url": "https://www.dbi-services.com/blog/impdp-contentmetadata_only-locks-the-stats/",
      "archive_path": "dbi-services/articles/impdp-contentmetadata_only-locks-the-stats.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-dbms_stats-gather_table_stats-on-gtt-do-not-commit",
      "title": "12c dbms_stats.gather_table_stats on GTT do not commit",
      "published_at": "2017-09-05T19:21:23",
      "canonical_url": "https://www.dbi-services.com/blog/12c-dbms_stats-gather_table_stats-on-gtt-do-not-commit/",
      "archive_path": "dbi-services/articles/12c-dbms_stats-gather_table_stats-on-gtt-do-not-commit.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "when-pdb-name-conflicts-with-cdb-name",
      "title": "When PDB name conflicts with CDB name",
      "published_at": "2017-09-03T14:24:41",
      "canonical_url": "https://www.dbi-services.com/blog/when-pdb-name-conflicts-with-cdb-name/",
      "archive_path": "dbi-services/articles/when-pdb-name-conflicts-with-cdb-name.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-xi",
      "title": "Postgres vs. Oracle access paths XI – Sample Scan",
      "published_at": "2017-08-26T14:33:39",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-xi/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-xi.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-x-update",
      "title": "Postgres vs. Oracle access paths X – Update",
      "published_at": "2017-08-24T20:03:34",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-x-update/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-x-update.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-ix",
      "title": "Postgres vs. Oracle access paths IX – Tid Scan",
      "published_at": "2017-08-23T20:29:59",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-ix/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-ix.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "improving-statspack-experience",
      "title": "Improving Statspack Experience",
      "published_at": "2017-08-23T19:41:01",
      "canonical_url": "https://www.dbi-services.com/blog/improving-statspack-experience/",
      "archive_path": "dbi-services/articles/improving-statspack-experience.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "bequeath-connect-to-pdb-set-container-in-logon-trigger",
      "title": "Bequeath connect to PDB: set container in logon trigger?",
      "published_at": "2017-08-23T05:54:08",
      "canonical_url": "https://www.dbi-services.com/blog/bequeath-connect-to-pdb-set-container-in-logon-trigger/",
      "archive_path": "dbi-services/articles/bequeath-connect-to-pdb-set-container-in-logon-trigger.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "get-trace-file-from-server-to-client",
      "title": "Get trace file from server to client",
      "published_at": "2017-08-20T20:20:38",
      "canonical_url": "https://www.dbi-services.com/blog/get-trace-file-from-server-to-client/",
      "archive_path": "dbi-services/articles/get-trace-file-from-server-to-client.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-viii",
      "title": "Postgres vs. Oracle access paths VIII – Index Scan and Filter",
      "published_at": "2017-08-20T12:40:02",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-viii/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-viii.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-x6-small-medium-large-and-high-availability",
      "title": "ODA X6 2S 2M 2L HA: Small Medium Large and High Availability",
      "published_at": "2017-08-14T15:46:25",
      "canonical_url": "https://www.dbi-services.com/blog/oda-x6-small-medium-large-and-high-availability/",
      "archive_path": "dbi-services/articles/oda-x6-small-medium-large-and-high-availability.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-vi",
      "title": "Postgres vs. Oracle access paths VI – Index Scan",
      "published_at": "2017-08-09T18:58:02",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-vi/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-vi.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-v",
      "title": "Postgres vs. Oracle access paths V – FIRST ROWS and MIN/MAX",
      "published_at": "2017-08-08T13:58:03",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-v/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-v.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-iv",
      "title": "Postgres vs. Oracle access paths IV – Order By and Index",
      "published_at": "2017-08-05T20:00:03",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-iv/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-iv.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "exadata-capacity-on-demand-and-elastic-rack",
      "title": "Exadata Capacity on Demand and Elastic Rack",
      "published_at": "2017-08-04T16:18:55",
      "canonical_url": "https://www.dbi-services.com/blog/exadata-capacity-on-demand-and-elastic-rack/",
      "archive_path": "dbi-services/articles/exadata-capacity-on-demand-and-elastic-rack.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-iii",
      "title": "Postgres vs. Oracle access paths III – Partial Index",
      "published_at": "2017-08-03T15:58:03",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-iii/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-iii.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-ii",
      "title": "Postgres vs. Oracle access paths II – Index Only Scan",
      "published_at": "2017-08-02T15:00:02",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-ii/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-ii.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-cloud-script-to-stop-all-paas-services",
      "title": "Oracle Cloud: script to stop all PaaS services",
      "published_at": "2017-08-02T05:56:56",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-cloud-script-to-stop-all-paas-services/",
      "archive_path": "dbi-services/articles/oracle-cloud-script-to-stop-all-paas-services.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "display-data-guard-configuration-in-sql-developer",
      "title": "Display Data Guard configuration in SQL Developer",
      "published_at": "2017-08-01T18:34:18",
      "canonical_url": "https://www.dbi-services.com/blog/display-data-guard-configuration-in-sql-developer/",
      "archive_path": "dbi-services/articles/display-data-guard-configuration-in-sql-developer.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-i",
      "title": "Postgres vs. Oracle access paths I – Seq Scan",
      "published_at": "2017-08-01T15:58:02",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-i/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-i.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-unique-constraint",
      "title": "Postgres unique constraint",
      "published_at": "2017-08-01T07:11:27",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-unique-constraint/",
      "archive_path": "dbi-services/articles/postgres-unique-constraint.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-0",
      "title": "Postgres vs. Oracle access paths – intro",
      "published_at": "2017-08-01T05:00:02",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-0/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-0.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgresql-on-cygwin",
      "title": "PostgreSQL on Cygwin",
      "published_at": "2017-08-01T04:00:50",
      "canonical_url": "https://www.dbi-services.com/blog/postgresql-on-cygwin/",
      "archive_path": "dbi-services/articles/postgresql-on-cygwin.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "postgres-vs-oracle-access-paths-vii",
      "title": "Postgres vs. Oracle access paths VII – Bitmap Index Scan",
      "published_at": "2017-07-31T13:58:02",
      "canonical_url": "https://www.dbi-services.com/blog/postgres-vs-oracle-access-paths-vii/",
      "archive_path": "dbi-services/articles/postgres-vs-oracle-access-paths-vii.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-x6-installation-re-image",
      "title": "ODA X6 installation: re-image",
      "published_at": "2017-06-28T20:44:11",
      "canonical_url": "https://www.dbi-services.com/blog/oda-x6-installation-re-image/",
      "archive_path": "dbi-services/articles/oda-x6-installation-re-image.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-multitenant-internals-vpd-for-v-views",
      "title": "12c Multitenant Internals: VPD for V$ views",
      "published_at": "2017-06-27T18:49:18",
      "canonical_url": "https://www.dbi-services.com/blog/12c-multitenant-internals-vpd-for-v-views/",
      "archive_path": "dbi-services/articles/12c-multitenant-internals-vpd-for-v-views.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-application-containers-and-foreign-keys",
      "title": "12cR2 Application Containers and Foreign Keys",
      "published_at": "2017-06-19T20:58:37",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-application-containers-and-foreign-keys/",
      "archive_path": "dbi-services/articles/12cr2-application-containers-and-foreign-keys.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-nssn-process-for-data-guard-sync-transport",
      "title": "12c NSSn process for Data Guard SYNC transport",
      "published_at": "2017-06-15T15:15:16",
      "canonical_url": "https://www.dbi-services.com/blog/12c-nssn-process-for-data-guard-sync-transport/",
      "archive_path": "dbi-services/articles/12c-nssn-process-for-data-guard-sync-transport.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-pdb-refresh-as-a-poor-man-standby",
      "title": "12cR2 PDB refresh as a poor-man standby?",
      "published_at": "2017-06-12T20:04:49",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-pdb-refresh-as-a-poor-man-standby/",
      "archive_path": "dbi-services/articles/12cr2-pdb-refresh-as-a-poor-man-standby.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-auditing-all-users-with-a-role-granted",
      "title": "12cR2 auditing all users with a role granted",
      "published_at": "2017-06-04T16:03:04",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-auditing-all-users-with-a-role-granted/",
      "archive_path": "dbi-services/articles/12cr2-auditing-all-users-with-a-role-granted.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "new-release-model-for-jul17-ru-and-rur",
      "title": "New release model for JUL17 (or Oracle 17.3): RU and RUR",
      "published_at": "2017-05-30T09:58:50",
      "canonical_url": "https://www.dbi-services.com/blog/new-release-model-for-jul17-ru-and-rur/",
      "archive_path": "dbi-services/articles/new-release-model-for-jul17-ru-and-rur.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-exchange-partition-deferred-invalidation",
      "title": "Oracle 12cR2: exchange partition deferred invalidation",
      "published_at": "2017-05-29T19:36:49",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-exchange-partition-deferred-invalidation/",
      "archive_path": "dbi-services/articles/oracle-12cr2-exchange-partition-deferred-invalidation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "which-privilege-for-create-pluggable-database-from-db-link",
      "title": "Which privilege for CREATE PLUGGABLE DATABASE from DB LINK?",
      "published_at": "2017-05-29T18:59:56",
      "canonical_url": "https://www.dbi-services.com/blog/which-privilege-for-create-pluggable-database-from-db-link/",
      "archive_path": "dbi-services/articles/which-privilege-for-create-pluggable-database-from-db-link.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-needs-to-connect-with-password-for-cross-pdb-dml",
      "title": "12cR2 needs to connect with password for Cross-PDB DML",
      "published_at": "2017-05-26T19:13:39",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-needs-to-connect-with-password-for-cross-pdb-dml/",
      "archive_path": "dbi-services/articles/12cr2-needs-to-connect-with-password-for-cross-pdb-dml.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "random-ora-01017-invalid-usernamepassword-in-12cr2",
      "title": "random “ORA-01017: invalid username/password” in 12cR2",
      "published_at": "2017-05-16T17:06:45",
      "canonical_url": "https://www.dbi-services.com/blog/random-ora-01017-invalid-usernamepassword-in-12cr2/",
      "archive_path": "dbi-services/articles/random-ora-01017-invalid-usernamepassword-in-12cr2.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-cross-container-dml-insert-into-container",
      "title": "12cR2 Cross-container DML – insert into container()",
      "published_at": "2017-05-13T15:07:53",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-cross-container-dml-insert-into-container/",
      "archive_path": "dbi-services/articles/12cr2-cross-container-dml-insert-into-container.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "what-is-in-a-transportable-tablespace-dumpfile",
      "title": "What is in a transportable tablespace dumpfile?",
      "published_at": "2017-05-08T20:20:18",
      "canonical_url": "https://www.dbi-services.com/blog/what-is-in-a-transportable-tablespace-dumpfile/",
      "archive_path": "dbi-services/articles/what-is-in-a-transportable-tablespace-dumpfile.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "can-you-open-pdbseed-read-write",
      "title": "Can you open PDB$SEED read write?",
      "published_at": "2017-05-07T15:27:19",
      "canonical_url": "https://www.dbi-services.com/blog/can-you-open-pdbseed-read-write/",
      "archive_path": "dbi-services/articles/can-you-open-pdbseed-read-write.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-nologging-and-data-guard",
      "title": "12c nologging and Data Guard",
      "published_at": "2017-05-03T19:23:20",
      "canonical_url": "https://www.dbi-services.com/blog/12c-nologging-and-data-guard/",
      "archive_path": "dbi-services/articles/12c-nologging-and-data-guard.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-partial-pdb-backup",
      "title": "12cR2 partial PDB backup",
      "published_at": "2017-05-01T06:21:47",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-partial-pdb-backup/",
      "archive_path": "dbi-services/articles/12cr2-partial-pdb-backup.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "listener-and-virtual-ip",
      "title": "Listener and Virtual IP",
      "published_at": "2017-04-25T20:24:14",
      "canonical_url": "https://www.dbi-services.com/blog/listener-and-virtual-ip/",
      "archive_path": "dbi-services/articles/listener-and-virtual-ip.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-rman-repair",
      "title": "12cR2 RMAN> REPAIR",
      "published_at": "2017-04-23T20:39:33",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-rman-repair/",
      "archive_path": "dbi-services/articles/12cr2-rman-repair.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "data-pump-logtime-dumpfile-parfile-data_pump_dir-in-12c",
      "title": "Data Pump LOGTIME, DUMPFILE, PARFILE, DATA_PUMP_DIR in 12c",
      "published_at": "2017-04-22T21:28:52",
      "canonical_url": "https://www.dbi-services.com/blog/data-pump-logtime-dumpfile-parfile-data_pump_dir-in-12c/",
      "archive_path": "dbi-services/articles/data-pump-logtime-dumpfile-parfile-data_pump_dir-in-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "securefiles-on-multi-datafiles-tablespaces",
      "title": "SecureFiles on multi-datafiles tablespaces",
      "published_at": "2017-04-21T19:47:20",
      "canonical_url": "https://www.dbi-services.com/blog/securefiles-on-multi-datafiles-tablespaces/",
      "archive_path": "dbi-services/articles/securefiles-on-multi-datafiles-tablespaces.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sqlcl-on-bash-on-ubuntu-on-windows",
      "title": "SQLcl on Bash on Ubuntu on Windows",
      "published_at": "2017-04-16T16:54:33",
      "canonical_url": "https://www.dbi-services.com/blog/sqlcl-on-bash-on-ubuntu-on-windows/",
      "archive_path": "dbi-services/articles/sqlcl-on-bash-on-ubuntu-on-windows.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "service-696c6f76656d756c746974656e616e74-has-1-instances",
      "title": "Service “696c6f76656d756c746974656e616e74” has 1 instance(s).",
      "published_at": "2017-04-08T07:53:48",
      "canonical_url": "https://www.dbi-services.com/blog/service-696c6f76656d756c746974656e616e74-has-1-instances/",
      "archive_path": "dbi-services/articles/service-696c6f76656d756c746974656e616e74-has-1-instances.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-dml-monitoring-and-statistics-advisor",
      "title": "12cR2 DML monitoring and Statistics Advisor",
      "published_at": "2017-04-06T20:40:22",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-dml-monitoring-and-statistics-advisor/",
      "archive_path": "dbi-services/articles/12cr2-dml-monitoring-and-statistics-advisor.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-dbca-automatic-memory-management-and-databasetype",
      "title": "12cR2 DBCA, Automatic Memory Management, and  -databaseType",
      "published_at": "2017-04-03T20:52:11",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-dbca-automatic-memory-management-and-databasetype/",
      "archive_path": "dbi-services/articles/12cr2-dbca-automatic-memory-management-and-databasetype.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "when-automatic-reoptimization-plan-is-less-efficient",
      "title": "When automatic reoptimization  plan is less efficient",
      "published_at": "2017-04-02T10:05:49",
      "canonical_url": "https://www.dbi-services.com/blog/when-automatic-reoptimization-plan-is-less-efficient/",
      "archive_path": "dbi-services/articles/when-automatic-reoptimization-plan-is-less-efficient.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "jan17-proactive-bundle-patch-adaptive-statistics-control",
      "title": "JAN17 Proactive Bundle Patch + Adaptive Statistics control",
      "published_at": "2017-03-27T07:30:13",
      "canonical_url": "https://www.dbi-services.com/blog/jan17-proactive-bundle-patch-adaptive-statistics-control/",
      "archive_path": "dbi-services/articles/jan17-proactive-bundle-patch-adaptive-statistics-control.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "purging-unified-audit-trail-in-12cr2",
      "title": "Purging Unified Audit Trail in 12cR2",
      "published_at": "2017-03-19T11:12:42",
      "canonical_url": "https://www.dbi-services.com/blog/purging-unified-audit-trail-in-12cr2/",
      "archive_path": "dbi-services/articles/purging-unified-audit-trail-in-12cr2.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-many-members-for-standby-redo-logs",
      "title": "How many members for standby redo logs?",
      "published_at": "2017-03-18T16:43:32",
      "canonical_url": "https://www.dbi-services.com/blog/how-many-members-for-standby-redo-logs/",
      "archive_path": "dbi-services/articles/how-many-members-for-standby-redo-logs.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-on-windows-virtual-accounts",
      "title": "Oracle 12cR2 on Windows: Virtual Accounts",
      "published_at": "2017-03-16T21:52:14",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-on-windows-virtual-accounts/",
      "archive_path": "dbi-services/articles/oracle-12cr2-on-windows-virtual-accounts.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "google-cloud-platform-instances-and-oracle-database-performance",
      "title": "Google Cloud Platform instances and Oracle Database",
      "published_at": "2017-03-12T18:00:27",
      "canonical_url": "https://www.dbi-services.com/blog/google-cloud-platform-instances-and-oracle-database-performance/",
      "archive_path": "dbi-services/articles/google-cloud-platform-instances-and-oracle-database-performance.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-tns_admin-in-env-ora",
      "title": "12cR2: TNS_ADMIN in env.ora",
      "published_at": "2017-03-10T10:37:01",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-tns_admin-in-env-ora/",
      "archive_path": "dbi-services/articles/12cr2-tns_admin-in-env-ora.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-rac-cloud-acfs-pdb-thin-clones-and-asmadmin",
      "title": "Oracle 12cR2, RAC, Cloud, ACFS, PDB thin clones and asmadmin",
      "published_at": "2017-03-09T21:21:10",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-rac-cloud-acfs-pdb-thin-clones-and-asmadmin/",
      "archive_path": "dbi-services/articles/oracle-12cr2-rac-cloud-acfs-pdb-thin-clones-and-asmadmin.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-changes-for-login-sql",
      "title": "Oracle 12cR2: changes for login.sql",
      "published_at": "2017-03-07T21:58:17",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-changes-for-login-sql/",
      "archive_path": "dbi-services/articles/oracle-12cr2-changes-for-login-sql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "misleading-wait-event-names-clarified-in-vevent_name",
      "title": "Misleading wait event names clarified in V$EVENT_NAME",
      "published_at": "2017-03-06T20:15:19",
      "canonical_url": "https://www.dbi-services.com/blog/misleading-wait-event-names-clarified-in-vevent_name/",
      "archive_path": "dbi-services/articles/misleading-wait-event-names-clarified-in-vevent_name.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "purging-unified-audit-trail-in-12cr1",
      "title": "Purging Unified Audit Trail in 12cR1",
      "published_at": "2017-03-04T17:24:09",
      "canonical_url": "https://www.dbi-services.com/blog/purging-unified-audit-trail-in-12cr1/",
      "archive_path": "dbi-services/articles/purging-unified-audit-trail-in-12cr1.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-online-tablespace-encryption",
      "title": "Oracle 12cR2: Online tablespace encryption",
      "published_at": "2017-02-26T19:57:13",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-online-tablespace-encryption/",
      "archive_path": "dbi-services/articles/oracle-12cr2-online-tablespace-encryption.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-recover-nonlogged-blocks-after-nologging-in-data-guard",
      "title": "12cR2: Recover nonlogged blocks after NOLOGGING in Data Guard",
      "published_at": "2017-02-26T15:32:25",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-recover-nonlogged-blocks-after-nologging-in-data-guard/",
      "archive_path": "dbi-services/articles/12cr2-recover-nonlogged-blocks-after-nologging-in-data-guard.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-unified-auditing-and-audit_traildb-in-mixed-mode",
      "title": "12c Unified Auditing and AUDIT_TRAIL=DB in mixed mode",
      "published_at": "2017-02-23T19:34:53",
      "canonical_url": "https://www.dbi-services.com/blog/12c-unified-auditing-and-audit_traildb-in-mixed-mode/",
      "archive_path": "dbi-services/articles/12c-unified-auditing-and-audit_traildb-in-mixed-mode.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-lockdown-profiles-and-ora-01219",
      "title": "12cR2: lockdown profiles and ORA-01219",
      "published_at": "2017-02-21T20:40:31",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-lockdown-profiles-and-ora-01219/",
      "archive_path": "dbi-services/articles/12cr2-lockdown-profiles-and-ora-01219.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-real-time-materialized-view-on-query-computation",
      "title": "12cR2 real-time materialized view (on query computation)",
      "published_at": "2017-02-17T21:49:19",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-real-time-materialized-view-on-query-computation/",
      "archive_path": "dbi-services/articles/12cr2-real-time-materialized-view-on-query-computation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-dbca-can-create-a-standby-database",
      "title": "12cR2 DBCA can create a standby database",
      "published_at": "2017-02-12T21:33:16",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-dbca-can-create-a-standby-database/",
      "archive_path": "dbi-services/articles/12cr2-dbca-can-create-a-standby-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-public-cloud-liops-with-4-ocpu-in-paas",
      "title": "Oracle Public Cloud: LIOPS with 4 OCPU in PaaS",
      "published_at": "2017-02-10T19:44:15",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-public-cloud-liops-with-4-ocpu-in-paas/",
      "archive_path": "dbi-services/articles/oracle-public-cloud-liops-with-4-ocpu-in-paas.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-public-cloud-2-ocpu-for-1-proc-license",
      "title": "Oracle Public Cloud: 2 OCPU for 1 proc. license",
      "published_at": "2017-02-08T17:40:10",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-public-cloud-2-ocpu-for-1-proc-license/",
      "archive_path": "dbi-services/articles/oracle-public-cloud-2-ocpu-for-1-proc-license.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "exadata-express-cloud-service-sql-and-optimizer-trace",
      "title": "Exadata Express Cloud Service: SQL and Optimizer trace",
      "published_at": "2017-02-06T21:51:08",
      "canonical_url": "https://www.dbi-services.com/blog/exadata-express-cloud-service-sql-and-optimizer-trace/",
      "archive_path": "dbi-services/articles/exadata-express-cloud-service-sql-and-optimizer-trace.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-public-cloud-12cr2-tde-is-not-an-option",
      "title": "Oracle Public Cloud 12cR2: TDE is not an option",
      "published_at": "2017-02-05T18:52:36",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-public-cloud-12cr2-tde-is-not-an-option/",
      "archive_path": "dbi-services/articles/oracle-public-cloud-12cr2-tde-is-not-an-option.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cbo-parse-time-match-time-with-transformation",
      "title": "CBO parse time – matching time with transformation",
      "published_at": "2017-02-04T20:36:16",
      "canonical_url": "https://www.dbi-services.com/blog/cbo-parse-time-match-time-with-transformation/",
      "archive_path": "dbi-services/articles/cbo-parse-time-match-time-with-transformation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "exadata-express-cloud-service-max_pdb_storage",
      "title": "Exadata Express Cloud Service: MAX_PDB_STORAGE",
      "published_at": "2017-02-03T22:06:13",
      "canonical_url": "https://www.dbi-services.com/blog/exadata-express-cloud-service-max_pdb_storage/",
      "archive_path": "dbi-services/articles/exadata-express-cloud-service-max_pdb_storage.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "running-slob-on-exadata-express-cloud-service",
      "title": "Running SLOB on Exadata Express Cloud Service",
      "published_at": "2017-02-01T13:06:33",
      "canonical_url": "https://www.dbi-services.com/blog/running-slob-on-exadata-express-cloud-service/",
      "archive_path": "dbi-services/articles/running-slob-on-exadata-express-cloud-service.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "amazon-aws-instances-and-oracle-database-performance",
      "title": "Amazon AWS instances and Oracle database performance",
      "published_at": "2017-02-01T09:19:49",
      "canonical_url": "https://www.dbi-services.com/blog/amazon-aws-instances-and-oracle-database-performance/",
      "archive_path": "dbi-services/articles/amazon-aws-instances-and-oracle-database-performance.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-core-factor-and-non-oracle-cloud",
      "title": "Oracle Core factor and Oracle or non-Oracle Cloud",
      "published_at": "2017-01-30T11:10:09",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-core-factor-and-non-oracle-cloud/",
      "archive_path": "dbi-services/articles/oracle-core-factor-and-non-oracle-cloud.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "exadata-express-cloud-service-pdb_admin-privileges",
      "title": "Exadata Express Cloud Service: PDB_ADMIN privileges",
      "published_at": "2017-01-24T21:39:10",
      "canonical_url": "https://www.dbi-services.com/blog/exadata-express-cloud-service-pdb_admin-privileges/",
      "archive_path": "dbi-services/articles/exadata-express-cloud-service-pdb_admin-privileges.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-no-cardinality-feedback-for-small-queries",
      "title": "12cR2: no cardinality feedback for small queries",
      "published_at": "2017-01-05T15:52:46",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-no-cardinality-feedback-for-small-queries/",
      "archive_path": "dbi-services/articles/12cr2-no-cardinality-feedback-for-small-queries.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "nls-defaults-for-language-and-territory",
      "title": "NLS defaults for LANGUAGE and TERRITORY",
      "published_at": "2017-01-04T13:09:27",
      "canonical_url": "https://www.dbi-services.com/blog/nls-defaults-for-language-and-territory/",
      "archive_path": "dbi-services/articles/nls-defaults-for-language-and-territory.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-awr-views-in-multitenant",
      "title": "Oracle 12cR2: AWR views in multitenant",
      "published_at": "2016-12-19T19:42:50",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-awr-views-in-multitenant/",
      "archive_path": "dbi-services/articles/oracle-12cr2-awr-views-in-multitenant.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rman-transport-tablespace",
      "title": "RMAN> TRANSPORT TABLESPACE",
      "published_at": "2016-12-18T09:12:46",
      "canonical_url": "https://www.dbi-services.com/blog/rman-transport-tablespace/",
      "archive_path": "dbi-services/articles/rman-transport-tablespace.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-database-12c-release-2-multitenant-oracle-press",
      "title": "Oracle Database 12c Release 2 Multitenant (Oracle Press)",
      "published_at": "2016-12-14T22:00:48",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-database-12c-release-2-multitenant-oracle-press/",
      "archive_path": "dbi-services/articles/oracle-database-12c-release-2-multitenant-oracle-press.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-statistics-advisor",
      "title": "Oracle 12cR2: Statistics Advisor",
      "published_at": "2016-12-07T10:48:55",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-statistics-advisor/",
      "archive_path": "dbi-services/articles/oracle-12cr2-statistics-advisor.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-internals-summary",
      "title": "Multitenant internals – Summary",
      "published_at": "2016-12-05T08:02:32",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-internals-summary/",
      "archive_path": "dbi-services/articles/multitenant-internals-summary.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "histograms-on-character-strings-between-11-2-0-3-and-11-2-0-4",
      "title": "Histograms on character strings between 11.2.0.3 and 11.2.0.4",
      "published_at": "2016-11-30T21:33:07",
      "canonical_url": "https://www.dbi-services.com/blog/histograms-on-character-strings-between-11-2-0-3-and-11-2-0-4/",
      "archive_path": "dbi-services/articles/histograms-on-character-strings-between-11-2-0-3-and-11-2-0-4.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "encryption-in-oracle-public-cloud",
      "title": "Encryption in Oracle Public Cloud",
      "published_at": "2016-11-29T18:04:55",
      "canonical_url": "https://www.dbi-services.com/blog/encryption-in-oracle-public-cloud/",
      "archive_path": "dbi-services/articles/encryption-in-oracle-public-cloud.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "observing-dml-restarts-caused-by-invalidations",
      "title": "Observing DML restarts caused by invalidations",
      "published_at": "2016-11-24T20:53:29",
      "canonical_url": "https://www.dbi-services.com/blog/observing-dml-restarts-caused-by-invalidations/",
      "archive_path": "dbi-services/articles/observing-dml-restarts-caused-by-invalidations.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-upgrade-by-remote-clone-with-tde-in-dbaas",
      "title": "12cR2: Upgrade by remote clone with TDE in DBaaS",
      "published_at": "2016-11-23T06:20:25",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-upgrade-by-remote-clone-with-tde-in-dbaas/",
      "archive_path": "dbi-services/articles/12cr2-upgrade-by-remote-clone-with-tde-in-dbaas.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-upgrade-by-remote-clone-workaround-ora-17630-in-dbaas",
      "title": "12cR2: Upgrade by remote clone – workaround ORA-17630 in DBaaS",
      "published_at": "2016-11-20T19:42:32",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-upgrade-by-remote-clone-workaround-ora-17630-in-dbaas/",
      "archive_path": "dbi-services/articles/12cr2-upgrade-by-remote-clone-workaround-ora-17630-in-dbaas.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-how-long-to-upgrade-a-pdb",
      "title": "12cR2: How long to upgrade a PDB?",
      "published_at": "2016-11-20T15:39:11",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-how-long-to-upgrade-a-pdb/",
      "archive_path": "dbi-services/articles/12cr2-how-long-to-upgrade-a-pdb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-upgrade-by-unplugplug-in-the-oracle-cloud-service",
      "title": "12cR2: Upgrade by unplug/plug in the Oracle Cloud Service",
      "published_at": "2016-11-19T21:01:36",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-upgrade-by-unplugplug-in-the-oracle-cloud-service/",
      "archive_path": "dbi-services/articles/12cr2-upgrade-by-unplugplug-in-the-oracle-cloud-service.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-create_file_dest-for-pdb-isolation",
      "title": "12cR2: CREATE_FILE_DEST for PDB isolation",
      "published_at": "2016-11-16T09:32:35",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-create_file_dest-for-pdb-isolation/",
      "archive_path": "dbi-services/articles/12cr2-create_file_dest-for-pdb-isolation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-single-tenant-multitenant-features-for-all-editions",
      "title": "12cR2 Single-Tenant: Multitenant Features for All Editions",
      "published_at": "2016-11-14T15:00:24",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-single-tenant-multitenant-features-for-all-editions/",
      "archive_path": "dbi-services/articles/12cr2-single-tenant-multitenant-features-for-all-editions.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-new-index-usage-tracking",
      "title": "12cR2 new index usage tracking",
      "published_at": "2016-11-13T20:15:42",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-new-index-usage-tracking/",
      "archive_path": "dbi-services/articles/12cr2-new-index-usage-tracking.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12cr2-has-new-sqlplus-features",
      "title": "12cR2 has new SQL*Plus features",
      "published_at": "2016-11-11T21:30:37",
      "canonical_url": "https://www.dbi-services.com/blog/12cr2-has-new-sqlplus-features/",
      "archive_path": "dbi-services/articles/12cr2-has-new-sqlplus-features.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-max_pdbs",
      "title": "Oracle 12cR2: MAX_PDBS",
      "published_at": "2016-11-11T06:43:44",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-max_pdbs/",
      "archive_path": "dbi-services/articles/oracle-12cr2-max_pdbs.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-pluggable-database-relocation",
      "title": "Oracle 12cR2: Pluggable database relocation",
      "published_at": "2016-11-11T05:19:32",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-pluggable-database-relocation/",
      "archive_path": "dbi-services/articles/oracle-12cr2-pluggable-database-relocation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-multitenant-containers-in-sql_trace",
      "title": "12cR2 multitenant containers in SQL_TRACE",
      "published_at": "2016-11-08T20:21:50",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-multitenant-containers-in-sql_trace/",
      "archive_path": "dbi-services/articles/oracle-12cr2-multitenant-containers-in-sql_trace.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-multitenant-local-undo",
      "title": "Oracle 12cR2 multitenant: Local UNDO",
      "published_at": "2016-11-08T18:58:48",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-multitenant-local-undo/",
      "archive_path": "dbi-services/articles/oracle-12cr2-multitenant-local-undo.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-plsql-new-feature-tnsping-from-the-database",
      "title": "Oracle 12cR2 PL/SQL new feature: TNSPING from the database",
      "published_at": "2016-11-08T17:55:59",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-plsql-new-feature-tnsping-from-the-database/",
      "archive_path": "dbi-services/articles/oracle-12cr2-plsql-new-feature-tnsping-from-the-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-public-cloud-create-a-database-from-command-line",
      "title": "Oracle Public Cloud: create a database from command line",
      "published_at": "2016-11-07T21:11:03",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-public-cloud-create-a-database-from-command-line/",
      "archive_path": "dbi-services/articles/oracle-public-cloud-create-a-database-from-command-line.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dbvisit-replicate-when-you-flashback-the-target",
      "title": "Dbvisit replicate when you flashback the target",
      "published_at": "2016-11-03T21:00:47",
      "canonical_url": "https://www.dbi-services.com/blog/dbvisit-replicate-when-you-flashback-the-target/",
      "archive_path": "dbi-services/articles/dbvisit-replicate-when-you-flashback-the-target.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-online-move-datafile-in-same-filesystem",
      "title": "12c online move datafile in same filesystem.",
      "published_at": "2016-11-02T21:03:12",
      "canonical_url": "https://www.dbi-services.com/blog/12c-online-move-datafile-in-same-filesystem/",
      "archive_path": "dbi-services/articles/12c-online-move-datafile-in-same-filesystem.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-gtt-private-statistics-and-cursor-invalidation",
      "title": "12c GTT private statistics and cursor invalidation",
      "published_at": "2016-10-27T20:27:11",
      "canonical_url": "https://www.dbi-services.com/blog/12c-gtt-private-statistics-and-cursor-invalidation/",
      "archive_path": "dbi-services/articles/12c-gtt-private-statistics-and-cursor-invalidation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "2-x-oda-x6-2s-dbvisit-standby-easy-dr-in-se",
      "title": "2 x ODA X6-2S + Dbvisit Standby: Easy DR in SE",
      "published_at": "2016-10-21T16:28:00",
      "canonical_url": "https://www.dbi-services.com/blog/2-x-oda-x6-2s-dbvisit-standby-easy-dr-in-se/",
      "archive_path": "dbi-services/articles/2-x-oda-x6-2s-dbvisit-standby-easy-dr-in-se.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "easy-datawarehouse-ods-load-in-enterprise-edition",
      "title": "Datawarehouse ODS load is fast and easy in Enterprise Edition",
      "published_at": "2016-10-19T19:56:47",
      "canonical_url": "https://www.dbi-services.com/blog/easy-datawarehouse-ods-load-in-enterprise-edition/",
      "archive_path": "dbi-services/articles/easy-datawarehouse-ods-load-in-enterprise-edition.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cdb-resource-plan-shares-and-utilization_limit",
      "title": "CDB resource plan: shares and utilization_limit",
      "published_at": "2016-10-17T21:00:27",
      "canonical_url": "https://www.dbi-services.com/blog/cdb-resource-plan-shares-and-utilization_limit/",
      "archive_path": "dbi-services/articles/cdb-resource-plan-shares-and-utilization_limit.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-ddl-deferred-invalidation",
      "title": "Oracle 12cR2: DDL deferred invalidation",
      "published_at": "2016-10-02T20:07:23",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-ddl-deferred-invalidation/",
      "archive_path": "dbi-services/articles/oracle-12cr2-ddl-deferred-invalidation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-is_rolling_invalid-in-vsql",
      "title": "Oracle 12cR2: IS_ROLLING_INVALID in V$SQL",
      "published_at": "2016-09-25T16:51:17",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-is_rolling_invalid-in-vsql/",
      "archive_path": "dbi-services/articles/oracle-12cr2-is_rolling_invalid-in-vsql.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "modern-software-architecture-what-is-a-database",
      "title": "Modern software architecture – what is a database?",
      "published_at": "2016-09-24T22:03:19",
      "canonical_url": "https://www.dbi-services.com/blog/modern-software-architecture-what-is-a-database/",
      "archive_path": "dbi-services/articles/modern-software-architecture-what-is-a-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ravello",
      "title": "Ravello",
      "published_at": "2016-09-20T23:46:17",
      "canonical_url": "https://www.dbi-services.com/blog/ravello/",
      "archive_path": "dbi-services/articles/ravello.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-optimizer-adaptive-statistics",
      "title": "Oracle 12cR2 Optimizer Adaptive Statistics",
      "published_at": "2016-09-20T15:13:26",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-optimizer-adaptive-statistics/",
      "archive_path": "dbi-services/articles/oracle-12cr2-optimizer-adaptive-statistics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-long-identifiers",
      "title": "Oracle 12cR2 Long Identifiers",
      "published_at": "2016-09-20T06:14:11",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-long-identifiers/",
      "archive_path": "dbi-services/articles/oracle-12cr2-long-identifiers.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-database-12-2-pdbaas",
      "title": "Oracle Database 12.2 – PDBaaS",
      "published_at": "2016-09-19T15:27:21",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-database-12-2-pdbaas/",
      "archive_path": "dbi-services/articles/oracle-database-12-2-pdbaas.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12cr2-sql-new-feature-listagg-overflow",
      "title": "Oracle 12cR2 SQL new feature: LISTAGG overflow",
      "published_at": "2016-09-19T07:00:31",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12cr2-sql-new-feature-listagg-overflow/",
      "archive_path": "dbi-services/articles/oracle-12cr2-sql-new-feature-listagg-overflow.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "result-cache-side-effects-on-number-of-calls",
      "title": "Result cache side effects on number of calls",
      "published_at": "2016-09-13T09:38:25",
      "canonical_url": "https://www.dbi-services.com/blog/result-cache-side-effects-on-number-of-calls/",
      "archive_path": "dbi-services/articles/result-cache-side-effects-on-number-of-calls.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-thin-provisioning-pdb-snapshots-on-acfs",
      "title": "Multitenant thin provisioning: PDB snapshots on ACFS",
      "published_at": "2016-09-06T21:07:44",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-thin-provisioning-pdb-snapshots-on-acfs/",
      "archive_path": "dbi-services/articles/multitenant-thin-provisioning-pdb-snapshots-on-acfs.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adaptive-plans-and-cost-of-inactive-branches",
      "title": "Adaptive Plans and cost of inactive branches",
      "published_at": "2016-09-03T11:27:54",
      "canonical_url": "https://www.dbi-services.com/blog/adaptive-plans-and-cost-of-inactive-branches/",
      "archive_path": "dbi-services/articles/adaptive-plans-and-cost-of-inactive-branches.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rolling-invalidate-window-exceeded",
      "title": "Rolling Invalidate Window Exceeded",
      "published_at": "2016-08-30T21:05:47",
      "canonical_url": "https://www.dbi-services.com/blog/rolling-invalidate-window-exceeded/",
      "archive_path": "dbi-services/articles/rolling-invalidate-window-exceeded.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "filenames-in-awr-reports",
      "title": "Filenames in AWR reports",
      "published_at": "2016-08-29T19:33:31",
      "canonical_url": "https://www.dbi-services.com/blog/filenames-in-awr-reports/",
      "archive_path": "dbi-services/articles/filenames-in-awr-reports.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-x6-database-classes-and-shapes",
      "title": "ODA X6 database classes and shapes",
      "published_at": "2016-08-29T13:47:00",
      "canonical_url": "https://www.dbi-services.com/blog/oda-x6-database-classes-and-shapes/",
      "archive_path": "dbi-services/articles/oda-x6-database-classes-and-shapes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-x6-command-line-and-web-console",
      "title": "ODA X6 command line and Web Console",
      "published_at": "2016-08-27T19:33:30",
      "canonical_url": "https://www.dbi-services.com/blog/oda-x6-command-line-and-web-console/",
      "archive_path": "dbi-services/articles/oda-x6-command-line-and-web-console.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "audit_sys_operations-and-top-level-operation",
      "title": "AUDIT_SYS_OPERATIONS and top-level operation",
      "published_at": "2016-08-23T09:28:16",
      "canonical_url": "https://www.dbi-services.com/blog/audit_sys_operations-and-top-level-operation/",
      "archive_path": "dbi-services/articles/audit_sys_operations-and-top-level-operation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "unplugged-pluggable-databases",
      "title": "Unplugged pluggable databases",
      "published_at": "2016-08-15T13:35:34",
      "canonical_url": "https://www.dbi-services.com/blog/unplugged-pluggable-databases/",
      "archive_path": "dbi-services/articles/unplugged-pluggable-databases.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-internals-object-links-on-fixed-tables",
      "title": "Multitenant internals: object links on fixed tables",
      "published_at": "2016-08-07T16:13:53",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-internals-object-links-on-fixed-tables/",
      "archive_path": "dbi-services/articles/multitenant-internals-object-links-on-fixed-tables.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-internals-how-object-links-are-parsedexecuted",
      "title": "Multitenant internals: how object links are parsed/executed",
      "published_at": "2016-08-07T10:33:33",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-internals-how-object-links-are-parsedexecuted/",
      "archive_path": "dbi-services/articles/multitenant-internals-how-object-links-are-parsedexecuted.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "exadata-x-5-bare-metal-vs-ovm-load-testing",
      "title": "Exadata X-5 Bare Metal vs. OVM load testing",
      "published_at": "2016-07-31T07:49:53",
      "canonical_url": "https://www.dbi-services.com/blog/exadata-x-5-bare-metal-vs-ovm-load-testing/",
      "archive_path": "dbi-services/articles/exadata-x-5-bare-metal-vs-ovm-load-testing.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-serializable-is-not-serializable",
      "title": "Oracle serializable is not serializable",
      "published_at": "2016-07-30T22:17:26",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-serializable-is-not-serializable/",
      "archive_path": "dbi-services/articles/oracle-serializable-is-not-serializable.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "exadata-x-5-bare-metal-vs-ovm",
      "title": "Exadata X-5 Bare Metal vs. OVM performance",
      "published_at": "2016-07-29T07:54:55",
      "canonical_url": "https://www.dbi-services.com/blog/exadata-x-5-bare-metal-vs-ovm/",
      "archive_path": "dbi-services/articles/exadata-x-5-bare-metal-vs-ovm.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "large-pages-and-memory_target-on-windows",
      "title": "Large Pages and MEMORY_TARGET on Windows",
      "published_at": "2016-07-27T21:57:51",
      "canonical_url": "https://www.dbi-services.com/blog/large-pages-and-memory_target-on-windows/",
      "archive_path": "dbi-services/articles/large-pages-and-memory_target-on-windows.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "redo-log-block-size-on-oda",
      "title": "Redo log block size on ODA X6 all flash",
      "published_at": "2016-07-22T21:43:31",
      "canonical_url": "https://www.dbi-services.com/blog/redo-log-block-size-on-oda/",
      "archive_path": "dbi-services/articles/redo-log-block-size-on-oda.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-x-6-log-file-sync-with-nvme-flash",
      "title": "ODA X-6 log file sync with NVMe flash",
      "published_at": "2016-07-21T17:04:27",
      "canonical_url": "https://www.dbi-services.com/blog/oda-x-6-log-file-sync-with-nvme-flash/",
      "archive_path": "dbi-services/articles/oda-x-6-log-file-sync-with-nvme-flash.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "amm-and-asmm-derived-parameters",
      "title": "AMM and ASMM derived parameters",
      "published_at": "2016-07-16T20:24:19",
      "canonical_url": "https://www.dbi-services.com/blog/amm-and-asmm-derived-parameters/",
      "archive_path": "dbi-services/articles/amm-and-asmm-derived-parameters.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-public-cloud-patch-conflict",
      "title": "Oracle Public Cloud patch conflict",
      "published_at": "2016-07-13T18:20:46",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-public-cloud-patch-conflict/",
      "archive_path": "dbi-services/articles/oracle-public-cloud-patch-conflict.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "nulls-in-composite-keys",
      "title": "Nulls in composite keys",
      "published_at": "2016-07-12T11:36:35",
      "canonical_url": "https://www.dbi-services.com/blog/nulls-in-composite-keys/",
      "archive_path": "dbi-services/articles/nulls-in-composite-keys.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-multitenant-feature-name",
      "title": "Oracle Multitenant feature name",
      "published_at": "2016-07-10T20:46:29",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-multitenant-feature-name/",
      "archive_path": "dbi-services/articles/oracle-multitenant-feature-name.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "compare-source-and-target-in-a-dbvisit-replication",
      "title": "Compare source and target in a Dbvisit replication",
      "published_at": "2016-07-05T18:51:20",
      "canonical_url": "https://www.dbi-services.com/blog/compare-source-and-target-in-a-dbvisit-replication/",
      "archive_path": "dbi-services/articles/compare-source-and-target-in-a-dbvisit-replication.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "script-to-suggest-fk-indexes",
      "title": "Script to suggest FK indexes",
      "published_at": "2016-07-04T15:55:02",
      "canonical_url": "https://www.dbi-services.com/blog/script-to-suggest-fk-indexes/",
      "archive_path": "dbi-services/articles/script-to-suggest-fk-indexes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "statspack-idle-events",
      "title": "Statspack Idle Events",
      "published_at": "2016-06-28T16:26:22",
      "canonical_url": "https://www.dbi-services.com/blog/statspack-idle-events/",
      "archive_path": "dbi-services/articles/statspack-idle-events.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "question-is-upgrade-now-to-12-1-0-2-or-wait-for-12-2",
      "title": "Question is: upgrade now to 12.1.0.2 or wait for 12.2 ?",
      "published_at": "2016-06-23T09:27:05",
      "canonical_url": "https://www.dbi-services.com/blog/question-is-upgrade-now-to-12-1-0-2-or-wait-for-12-2/",
      "archive_path": "dbi-services/articles/question-is-upgrade-now-to-12-1-0-2-or-wait-for-12-2.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oda-x6-2s-2m-for-ee-and-se",
      "title": "ODA X6-2S and ODA X6-2M for EE and SE2",
      "published_at": "2016-06-21T18:07:03",
      "canonical_url": "https://www.dbi-services.com/blog/oda-x6-2s-2m-for-ee-and-se/",
      "archive_path": "dbi-services/articles/oda-x6-2s-2m-for-ee-and-se.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adaptive-plans-and-sql-baselines",
      "title": "Adaptive Plans and SQL Baselines",
      "published_at": "2016-06-21T17:44:04",
      "canonical_url": "https://www.dbi-services.com/blog/adaptive-plans-and-sql-baselines/",
      "archive_path": "dbi-services/articles/adaptive-plans-and-sql-baselines.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ora-01775-looping-chain-of-synonyms",
      "title": "ORA-01775: looping chain of synonyms",
      "published_at": "2016-06-21T12:13:25",
      "canonical_url": "https://www.dbi-services.com/blog/ora-01775-looping-chain-of-synonyms/",
      "archive_path": "dbi-services/articles/ora-01775-looping-chain-of-synonyms.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "when-changing-cursor_sharing-takes-effect",
      "title": "When changing CURSOR_SHARING takes effect?",
      "published_at": "2016-06-20T18:15:59",
      "canonical_url": "https://www.dbi-services.com/blog/when-changing-cursor_sharing-takes-effect/",
      "archive_path": "dbi-services/articles/when-changing-cursor_sharing-takes-effect.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "asm-iostats",
      "title": "ASM iostats",
      "published_at": "2016-06-20T17:15:09",
      "canonical_url": "https://www.dbi-services.com/blog/asm-iostats/",
      "archive_path": "dbi-services/articles/asm-iostats.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-online-datafile-move-and-resize",
      "title": "12c online datafile move and resize",
      "published_at": "2016-06-18T17:24:19",
      "canonical_url": "https://www.dbi-services.com/blog/12c-online-datafile-move-and-resize/",
      "archive_path": "dbi-services/articles/12c-online-datafile-move-and-resize.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "large-pages-on-windows",
      "title": "Large Pages on Windows",
      "published_at": "2016-06-16T17:48:18",
      "canonical_url": "https://www.dbi-services.com/blog/large-pages-on-windows/",
      "archive_path": "dbi-services/articles/large-pages-on-windows.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "instance-caging-and-multitenant-do-the-right-setting",
      "title": "Instance Caging and multitenant: do the right setting",
      "published_at": "2016-06-12T16:38:24",
      "canonical_url": "https://www.dbi-services.com/blog/instance-caging-and-multitenant-do-the-right-setting/",
      "archive_path": "dbi-services/articles/instance-caging-and-multitenant-do-the-right-setting.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-on-windows-server-core",
      "title": "Oracle on Windows Server Core",
      "published_at": "2016-06-10T18:45:43",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-on-windows-server-core/",
      "archive_path": "dbi-services/articles/oracle-on-windows-server-core.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "where-is-the-asm-spfile",
      "title": "Where is the ASM SPFILE?",
      "published_at": "2016-05-30T19:07:54",
      "canonical_url": "https://www.dbi-services.com/blog/where-is-the-asm-spfile/",
      "archive_path": "dbi-services/articles/where-is-the-asm-spfile.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "learning-and-troubleshooting-follow-the-path",
      "title": "Learning and troubleshooting: Follow the path",
      "published_at": "2016-05-28T20:13:33",
      "canonical_url": "https://www.dbi-services.com/blog/learning-and-troubleshooting-follow-the-path/",
      "archive_path": "dbi-services/articles/learning-and-troubleshooting-follow-the-path.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "extended-clusters-and-asm_preferred_read_failure_groups",
      "title": "Extended clusters and asm_preferred_read_failure_groups",
      "published_at": "2016-05-27T18:20:27",
      "canonical_url": "https://www.dbi-services.com/blog/extended-clusters-and-asm_preferred_read_failure_groups/",
      "archive_path": "dbi-services/articles/extended-clusters-and-asm_preferred_read_failure_groups.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "db_flashback_retention_target-may-hang-your-database",
      "title": "DB_FLASHBACK_RETENTION_TARGET may hang your database",
      "published_at": "2016-05-26T09:20:21",
      "canonical_url": "https://www.dbi-services.com/blog/db_flashback_retention_target-may-hang-your-database/",
      "archive_path": "dbi-services/articles/db_flashback_retention_target-may-hang-your-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "which-patchset-for-12-1-0-2",
      "title": "Which patchset for 12.1.0.2 ?",
      "published_at": "2016-05-24T20:07:56",
      "canonical_url": "https://www.dbi-services.com/blog/which-patchset-for-12-1-0-2/",
      "archive_path": "dbi-services/articles/which-patchset-for-12-1-0-2.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sys-password-on-oracle-cloud-service-managed-database",
      "title": "SYS password on Oracle Cloud Service managed database",
      "published_at": "2016-05-21T17:46:18",
      "canonical_url": "https://www.dbi-services.com/blog/sys-password-on-oracle-cloud-service-managed-database/",
      "archive_path": "dbi-services/articles/sys-password-on-oracle-cloud-service-managed-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "data-guard-as-a-service",
      "title": "Data Guard as a Service",
      "published_at": "2016-05-20T20:42:28",
      "canonical_url": "https://www.dbi-services.com/blog/data-guard-as-a-service/",
      "archive_path": "dbi-services/articles/data-guard-as-a-service.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-dictionary-what-is-stored-only-in-cdbroot",
      "title": "Multitenant dictionary: what is stored only in CDB$ROOT?",
      "published_at": "2016-05-17T18:51:03",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-dictionary-what-is-stored-only-in-cdbroot/",
      "archive_path": "dbi-services/articles/multitenant-dictionary-what-is-stored-only-in-cdbroot.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "adaptive-plan-how-much-can-statistics-collector-buffer",
      "title": "Adaptive Plan: How much can STATISTICS COLLECTOR buffer?",
      "published_at": "2016-05-04T17:29:28",
      "canonical_url": "https://www.dbi-services.com/blog/adaptive-plan-how-much-can-statistics-collector-buffer/",
      "archive_path": "dbi-services/articles/adaptive-plan-how-much-can-statistics-collector-buffer.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "when-a-query-has-read-350tb-after-73k-nested-loops",
      "title": "When a query has read 350TB after 73K nested loops",
      "published_at": "2016-05-03T19:11:08",
      "canonical_url": "https://www.dbi-services.com/blog/when-a-query-has-read-350tb-after-73k-nested-loops/",
      "archive_path": "dbi-services/articles/when-a-query-has-read-350tb-after-73k-nested-loops.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "testing-oracle-on-exoscale-ch",
      "title": "Testing Oracle on exoscale.ch",
      "published_at": "2016-04-28T20:49:28",
      "canonical_url": "https://www.dbi-services.com/blog/testing-oracle-on-exoscale-ch/",
      "archive_path": "dbi-services/articles/testing-oracle-on-exoscale-ch.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "can-you-become-a-paas-provider-for-an-oracle-database-service",
      "title": "Can you become a PaaS provider for an Oracle Database service?",
      "published_at": "2016-04-28T16:17:10",
      "canonical_url": "https://www.dbi-services.com/blog/can-you-become-a-paas-provider-for-an-oracle-database-service/",
      "archive_path": "dbi-services/articles/can-you-become-a-paas-provider-for-an-oracle-database-service.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "io-performance-predictability-in-the-cloud",
      "title": "I/O Performance predictability in the Cloud",
      "published_at": "2016-04-26T17:29:58",
      "canonical_url": "https://www.dbi-services.com/blog/io-performance-predictability-in-the-cloud/",
      "archive_path": "dbi-services/articles/io-performance-predictability-in-the-cloud.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "a-short-glance-at-attunity-replicate",
      "title": "A short glance at Attunity replicate",
      "published_at": "2016-04-16T21:12:01",
      "canonical_url": "https://www.dbi-services.com/blog/a-short-glance-at-attunity-replicate/",
      "archive_path": "dbi-services/articles/a-short-glance-at-attunity-replicate.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "transparently-externalize-blob-to-bfile",
      "title": "Transparently externalize BLOB to BFILE",
      "published_at": "2016-04-12T19:43:45",
      "canonical_url": "https://www.dbi-services.com/blog/transparently-externalize-blob-to-bfile/",
      "archive_path": "dbi-services/articles/transparently-externalize-blob-to-bfile.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "single-tenant-vs-non-cdb-no-reason-to-refuse-it",
      "title": "Single-Tenant vs. non-CDB: no reason to refuse it",
      "published_at": "2016-04-09T18:57:23",
      "canonical_url": "https://www.dbi-services.com/blog/single-tenant-vs-non-cdb-no-reason-to-refuse-it/",
      "archive_path": "dbi-services/articles/single-tenant-vs-non-cdb-no-reason-to-refuse-it.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "fixed-table-automatic-statistic-gathering-in-12c",
      "title": "Fixed table automatic statistic gathering in 12c",
      "published_at": "2016-04-04T16:18:29",
      "canonical_url": "https://www.dbi-services.com/blog/fixed-table-automatic-statistic-gathering-in-12c/",
      "archive_path": "dbi-services/articles/fixed-table-automatic-statistic-gathering-in-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "creer-une-base-oracle-sur-le-cloud-en-quelques-clicks",
      "title": "Créer une base Oracle sur le Cloud en quelques clicks",
      "published_at": "2016-04-03T19:33:42",
      "canonical_url": "https://www.dbi-services.com/blog/creer-une-base-oracle-sur-le-cloud-en-quelques-clicks/",
      "archive_path": "dbi-services/articles/creer-une-base-oracle-sur-le-cloud-en-quelques-clicks.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "lost-in-the-cloud-my-cloud-vs-my-services",
      "title": "Lost in the Cloud? My Cloud vs. My Services",
      "published_at": "2016-04-03T19:02:49",
      "canonical_url": "https://www.dbi-services.com/blog/lost-in-the-cloud-my-cloud-vs-my-services/",
      "archive_path": "dbi-services/articles/lost-in-the-cloud-my-cloud-vs-my-services.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cloning-a-pdb-to-the-oracle-cloud-service",
      "title": "Cloning a PDB to the Oracle Cloud Service",
      "published_at": "2016-03-30T23:31:24",
      "canonical_url": "https://www.dbi-services.com/blog/cloning-a-pdb-to-the-oracle-cloud-service/",
      "archive_path": "dbi-services/articles/cloning-a-pdb-to-the-oracle-cloud-service.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-to-check-multitenant-option-feature-usage",
      "title": "How to check Multitenant Option feature usage",
      "published_at": "2016-03-27T19:54:53",
      "canonical_url": "https://www.dbi-services.com/blog/how-to-check-multitenant-option-feature-usage/",
      "archive_path": "dbi-services/articles/how-to-check-multitenant-option-feature-usage.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rac-to-ron-then-ron-to-rac-and-singleton-service",
      "title": "RAC to RON then RON to RAC and singleton service",
      "published_at": "2016-03-20T21:14:53",
      "canonical_url": "https://www.dbi-services.com/blog/rac-to-ron-then-ron-to-rac-and-singleton-service/",
      "archive_path": "dbi-services/articles/rac-to-ron-then-ron-to-rac-and-singleton-service.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rman-12c-push-and-pull-duplicate-explained",
      "title": "RMAN 12c Push and Pull duplicate explained",
      "published_at": "2016-03-17T16:43:36",
      "canonical_url": "https://www.dbi-services.com/blog/rman-12c-push-and-pull-duplicate-explained/",
      "archive_path": "dbi-services/articles/rman-12c-push-and-pull-duplicate-explained.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-multitenant-pdb-spfile-parameters-for-standby-database",
      "title": "12c Multitenant: PDB spfile parameters for standby database",
      "published_at": "2016-03-16T21:04:20",
      "canonical_url": "https://www.dbi-services.com/blog/12c-multitenant-pdb-spfile-parameters-for-standby-database/",
      "archive_path": "dbi-services/articles/12c-multitenant-pdb-spfile-parameters-for-standby-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "the-privileges-to-connect-to-a-container",
      "title": "The privileges to connect to a container",
      "published_at": "2016-03-16T10:51:38",
      "canonical_url": "https://www.dbi-services.com/blog/the-privileges-to-connect-to-a-container/",
      "archive_path": "dbi-services/articles/the-privileges-to-connect-to-a-container.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-multitenant-internals-awr-tables-and-views",
      "title": "12c Multitenant internals: AWR tables and views",
      "published_at": "2016-03-13T20:37:49",
      "canonical_url": "https://www.dbi-services.com/blog/12c-multitenant-internals-awr-tables-and-views/",
      "archive_path": "dbi-services/articles/12c-multitenant-internals-awr-tables-and-views.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-multitenant-cursor-sharing-in-cdb",
      "title": "12c multitenant: Cursor sharing in CDB",
      "published_at": "2016-03-12T21:06:41",
      "canonical_url": "https://www.dbi-services.com/blog/12c-multitenant-cursor-sharing-in-cdb/",
      "archive_path": "dbi-services/articles/12c-multitenant-cursor-sharing-in-cdb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "conversion-to-flex-asm-with-asmca-takes-5-minutes",
      "title": "Conversion to Flex ASM with asmca takes 5 minutes",
      "published_at": "2016-03-11T22:52:09",
      "canonical_url": "https://www.dbi-services.com/blog/conversion-to-flex-asm-with-asmca-takes-5-minutes/",
      "archive_path": "dbi-services/articles/conversion-to-flex-asm-with-asmca-takes-5-minutes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "any-reason-to-change-the-c-common-user-prefix",
      "title": "Any reason to change the C## common user prefix?",
      "published_at": "2016-03-10T21:36:38",
      "canonical_url": "https://www.dbi-services.com/blog/any-reason-to-change-the-c-common-user-prefix/",
      "archive_path": "dbi-services/articles/any-reason-to-change-the-c-common-user-prefix.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "resource-manager-plan-from-oem-vs-command-line",
      "title": "Resource Manager plan from OEM vs. command line",
      "published_at": "2016-03-10T15:15:40",
      "canonical_url": "https://www.dbi-services.com/blog/resource-manager-plan-from-oem-vs-command-line/",
      "archive_path": "dbi-services/articles/resource-manager-plan-from-oem-vs-command-line.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "easy-transport-of-sql-tuning-sets-with-oem",
      "title": "Easy transport of SQL Tuning Sets with OEM",
      "published_at": "2016-03-08T15:30:44",
      "canonical_url": "https://www.dbi-services.com/blog/easy-transport-of-sql-tuning-sets-with-oem/",
      "archive_path": "dbi-services/articles/easy-transport-of-sql-tuning-sets-with-oem.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "gtt-in-exadata-are-eligible-to-smartscan",
      "title": "GTT in Exadata are eligible to SmartScan",
      "published_at": "2016-03-07T11:21:25",
      "canonical_url": "https://www.dbi-services.com/blog/gtt-in-exadata-are-eligible-to-smartscan/",
      "archive_path": "dbi-services/articles/gtt-in-exadata-are-eligible-to-smartscan.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "standard-edition-2-testing-the-16-thread-limitation",
      "title": "Standard Edition 2 testing the 16 thread limitation",
      "published_at": "2016-02-26T10:36:01",
      "canonical_url": "https://www.dbi-services.com/blog/standard-edition-2-testing-the-16-thread-limitation/",
      "archive_path": "dbi-services/articles/standard-edition-2-testing-the-16-thread-limitation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "the-taboo-of-underscore-parameters",
      "title": "The taboo of ‘underscore parameters’",
      "published_at": "2016-02-21T18:36:13",
      "canonical_url": "https://www.dbi-services.com/blog/the-taboo-of-underscore-parameters/",
      "archive_path": "dbi-services/articles/the-taboo-of-underscore-parameters.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-online-datafile-move-and-ongoing-changes",
      "title": "12c online datafile move and ongoing changes",
      "published_at": "2016-02-12T21:32:27",
      "canonical_url": "https://www.dbi-services.com/blog/12c-online-datafile-move-and-ongoing-changes/",
      "archive_path": "dbi-services/articles/12c-online-datafile-move-and-ongoing-changes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sql-plan-directives-strike-again",
      "title": "SQL Plan Directives strikes again",
      "published_at": "2016-02-04T16:51:05",
      "canonical_url": "https://www.dbi-services.com/blog/sql-plan-directives-strike-again/",
      "archive_path": "dbi-services/articles/sql-plan-directives-strike-again.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "awrrpt-and-spreport-in-multitenant",
      "title": "awrrpt and spreport in multitenant",
      "published_at": "2016-01-27T21:36:32",
      "canonical_url": "https://www.dbi-services.com/blog/awrrpt-and-spreport-in-multitenant/",
      "archive_path": "dbi-services/articles/awrrpt-and-spreport-in-multitenant.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ofe-optimizer-features-enable",
      "title": "OFE – Optimizer Features Enable",
      "published_at": "2016-01-21T21:28:02",
      "canonical_url": "https://www.dbi-services.com/blog/ofe-optimizer-features-enable/",
      "archive_path": "dbi-services/articles/ofe-optimizer-features-enable.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "execution-plan-with-ash",
      "title": "Execution Plan with ASH",
      "published_at": "2016-01-21T10:33:06",
      "canonical_url": "https://www.dbi-services.com/blog/execution-plan-with-ash/",
      "archive_path": "dbi-services/articles/execution-plan-with-ash.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "datapump-processing-object-type-misleading-messages",
      "title": "DataPump ‘Processing object type’ misleading messages",
      "published_at": "2016-01-18T21:39:14",
      "canonical_url": "https://www.dbi-services.com/blog/datapump-processing-object-type-misleading-messages/",
      "archive_path": "dbi-services/articles/datapump-processing-object-type-misleading-messages.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "log-file-sync-user-commits",
      "title": "log file sync / user commits",
      "published_at": "2016-01-10T19:29:21",
      "canonical_url": "https://www.dbi-services.com/blog/log-file-sync-user-commits/",
      "archive_path": "dbi-services/articles/log-file-sync-user-commits.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "flashback-table-after-multiple-drop",
      "title": "Flashback table after multiple drop",
      "published_at": "2016-01-02T20:05:09",
      "canonical_url": "https://www.dbi-services.com/blog/flashback-table-after-multiple-drop/",
      "archive_path": "dbi-services/articles/flashback-table-after-multiple-drop.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pdb-snapshot-using-dbms_dnfs-clonedb_renamefile",
      "title": "PDB Snapshot using dbms_dnfs.clonedb_renamefile",
      "published_at": "2016-01-02T18:16:43",
      "canonical_url": "https://www.dbi-services.com/blog/pdb-snapshot-using-dbms_dnfs-clonedb_renamefile/",
      "archive_path": "dbi-services/articles/pdb-snapshot-using-dbms_dnfs-clonedb_renamefile.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pdb-snapshot-copy-for-continuous-integration-testing",
      "title": "PDB snapshot copy for continuous integration testing",
      "published_at": "2016-01-01T20:17:45",
      "canonical_url": "https://www.dbi-services.com/blog/pdb-snapshot-copy-for-continuous-integration-testing/",
      "archive_path": "dbi-services/articles/pdb-snapshot-copy-for-continuous-integration-testing.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "phantom-session-environment-in-multitenant",
      "title": "Phantom session environment in multitenant?",
      "published_at": "2015-12-27T20:42:01",
      "canonical_url": "https://www.dbi-services.com/blog/phantom-session-environment-in-multitenant/",
      "archive_path": "dbi-services/articles/phantom-session-environment-in-multitenant.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-restore-voting-disks-ocr-and-asm-spfile",
      "title": "OCM 12c preparation: restore Voting disks, OCR and ASM spfile",
      "published_at": "2015-12-21T15:43:50",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-restore-voting-disks-ocr-and-asm-spfile/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-restore-voting-disks-ocr-and-asm-spfile.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-rat-in-multitenant",
      "title": "OCM 12c preparation: RAT in multitenant",
      "published_at": "2015-12-20T16:08:53",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-rat-in-multitenant/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-rat-in-multitenant.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-data-guard-with-oem",
      "title": "OCM 12c preparation: Data Guard with OEM",
      "published_at": "2015-12-18T23:24:13",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-data-guard-with-oem/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-data-guard-with-oem.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-documentation",
      "title": "OCM 12c preparation: documentation",
      "published_at": "2015-12-18T19:34:03",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-documentation/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-documentation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-explain-fast-refresh",
      "title": "OCM 12c preparation: Explain fast refresh",
      "published_at": "2015-12-17T17:51:05",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-explain-fast-refresh/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-explain-fast-refresh.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-transportable-tablespaces",
      "title": "OCM 12c preparation: Transportable Tablespaces",
      "published_at": "2015-12-15T21:50:48",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-transportable-tablespaces/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-transportable-tablespaces.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sql-plan-directive-disabling-usage-and-column-groups",
      "title": "SQL Plan Directive: disabling usage and column groups",
      "published_at": "2015-12-03T14:29:59",
      "canonical_url": "https://www.dbi-services.com/blog/sql-plan-directive-disabling-usage-and-column-groups/",
      "archive_path": "dbi-services/articles/sql-plan-directive-disabling-usage-and-column-groups.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-manage-pdb",
      "title": "OCM 12c preparation: Manage PDB",
      "published_at": "2015-11-30T17:45:09",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-manage-pdb/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-manage-pdb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ocm-12c-preparation-create-cdb-in-command-line",
      "title": "OCM 12c preparation: Create CDB in command line",
      "published_at": "2015-11-30T09:31:42",
      "canonical_url": "https://www.dbi-services.com/blog/ocm-12c-preparation-create-cdb-in-command-line/",
      "archive_path": "dbi-services/articles/ocm-12c-preparation-create-cdb-in-command-line.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "trying-appdynamix-monitoring-application-from-user-to-database",
      "title": "Trying AppDynamix – monitoring application from user to database",
      "published_at": "2015-11-23T22:40:42",
      "canonical_url": "https://www.dbi-services.com/blog/trying-appdynamix-monitoring-application-from-user-to-database/",
      "archive_path": "dbi-services/articles/trying-appdynamix-monitoring-application-from-user-to-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "real-life-audience-vs-twitter-audience",
      "title": "Real life audience vs. Twitter audience",
      "published_at": "2015-11-21T12:43:06",
      "canonical_url": "https://www.dbi-services.com/blog/real-life-audience-vs-twitter-audience/",
      "archive_path": "dbi-services/articles/real-life-audience-vs-twitter-audience.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "in-memory-synchronous-population-with-hidden-parameters",
      "title": "In-Memory synchronous population with hidden parameters",
      "published_at": "2015-11-15T21:20:34",
      "canonical_url": "https://www.dbi-services.com/blog/in-memory-synchronous-population-with-hidden-parameters/",
      "archive_path": "dbi-services/articles/in-memory-synchronous-population-with-hidden-parameters.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cloud-control-12c-on-your-laptop",
      "title": "Cloud Control 12c on your laptop",
      "published_at": "2015-11-13T07:10:17",
      "canonical_url": "https://www.dbi-services.com/blog/cloud-control-12c-on-your-laptop/",
      "archive_path": "dbi-services/articles/cloud-control-12c-on-your-laptop.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "interested-in-a-deep-dive-of-logical-replication",
      "title": "Interested in a deep dive of logical replication?",
      "published_at": "2015-11-11T17:11:08",
      "canonical_url": "https://www.dbi-services.com/blog/interested-in-a-deep-dive-of-logical-replication/",
      "archive_path": "dbi-services/articles/interested-in-a-deep-dive-of-logical-replication.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "_rowsets_enabled",
      "title": "set “_rowsets_enabled”=false",
      "published_at": "2015-11-11T11:07:57",
      "canonical_url": "https://www.dbi-services.com/blog/_rowsets_enabled/",
      "archive_path": "dbi-services/articles/_rowsets_enabled.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "awr-when-ash-cpu-db-cpu",
      "title": "AWR when ASH CPU >> DB CPU",
      "published_at": "2015-11-05T18:28:19",
      "canonical_url": "https://www.dbi-services.com/blog/awr-when-ash-cpu-db-cpu/",
      "archive_path": "dbi-services/articles/awr-when-ash-cpu-db-cpu.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rman-channels-in-rac",
      "title": "RMAN channels in RAC",
      "published_at": "2015-11-05T12:29:03",
      "canonical_url": "https://www.dbi-services.com/blog/rman-channels-in-rac/",
      "archive_path": "dbi-services/articles/rman-channels-in-rac.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure",
      "title": "Dbvisit replicate allows DDL replication even when source and destination have different structure",
      "published_at": "2015-11-02T22:11:07",
      "canonical_url": "https://www.dbi-services.com/blog/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure/",
      "archive_path": "dbi-services/articles/dbvisit-replicate-allows-ddl-replication-even-when-source-and-destination-have-different-structure.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ibm-bluemix-database-cloud-service-my-first-trial",
      "title": "IBM Bluemix Database Cloud Service – My first trial",
      "published_at": "2015-10-31T16:09:02",
      "canonical_url": "https://www.dbi-services.com/blog/ibm-bluemix-database-cloud-service-my-first-trial/",
      "archive_path": "dbi-services/articles/ibm-bluemix-database-cloud-service-my-first-trial.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dba-turkeys-and-nosql-hype",
      "title": "DBA, turkeys and NoSQL hype",
      "published_at": "2015-10-24T03:48:31",
      "canonical_url": "https://www.dbi-services.com/blog/dba-turkeys-and-nosql-hype/",
      "archive_path": "dbi-services/articles/dba-turkeys-and-nosql-hype.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sql-alter-database-switchover-to",
      "title": "SQL> alter database switchover to …",
      "published_at": "2015-10-21T21:05:39",
      "canonical_url": "https://www.dbi-services.com/blog/sql-alter-database-switchover-to/",
      "archive_path": "dbi-services/articles/sql-alter-database-switchover-to.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-cloud-service-my-first-outage",
      "title": "Oracle Cloud Service – my first outage",
      "published_at": "2015-10-18T19:19:21",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-cloud-service-my-first-outage/",
      "archive_path": "dbi-services/articles/oracle-cloud-service-my-first-outage.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "you-are-in-standard-edition-when-to-worry",
      "title": "You are in Standard Edition, when to worry?",
      "published_at": "2015-10-18T15:57:32",
      "canonical_url": "https://www.dbi-services.com/blog/you-are-in-standard-edition-when-to-worry/",
      "archive_path": "dbi-services/articles/you-are-in-standard-edition-when-to-worry.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "11-2-0-4-support-dont-worry-until-2017",
      "title": "11.2.0.4 support? Don’t worry until 2017",
      "published_at": "2015-10-16T21:58:55",
      "canonical_url": "https://www.dbi-services.com/blog/11-2-0-4-support-dont-worry-until-2017/",
      "archive_path": "dbi-services/articles/11-2-0-4-support-dont-worry-until-2017.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "mapping-in-memory-cu-to-values-imcu-pruning",
      "title": "Mapping In-memory CU to values: IMCU pruning",
      "published_at": "2015-10-13T05:27:12",
      "canonical_url": "https://www.dbi-services.com/blog/mapping-in-memory-cu-to-values-imcu-pruning/",
      "archive_path": "dbi-services/articles/mapping-in-memory-cu-to-values-imcu-pruning.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "mapping-in-memory-column-store-to-datafile-row-store-extents",
      "title": "Mapping In-memory Column Store to datafile Row Store extents",
      "published_at": "2015-10-11T20:52:46",
      "canonical_url": "https://www.dbi-services.com/blog/mapping-in-memory-column-store-to-datafile-row-store-extents/",
      "archive_path": "dbi-services/articles/mapping-in-memory-column-store-to-datafile-row-store-extents.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "in-memory-trickle-repopulation",
      "title": "In-memory trickle repopulation",
      "published_at": "2015-10-10T21:23:26",
      "canonical_url": "https://www.dbi-services.com/blog/in-memory-trickle-repopulation/",
      "archive_path": "dbi-services/articles/in-memory-trickle-repopulation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dbvisit-replicate-cdc-without-old-values",
      "title": "Dbvisit replicate CDC without old values",
      "published_at": "2015-10-07T20:10:21",
      "canonical_url": "https://www.dbi-services.com/blog/dbvisit-replicate-cdc-without-old-values/",
      "archive_path": "dbi-services/articles/dbvisit-replicate-cdc-without-old-values.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-in-memory-column-store-for-business-intelligence-at-swissbiday",
      "title": "Oracle In-Memory Column Store for Business Intelligence at #swissbiday",
      "published_at": "2015-10-06T14:00:17",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-in-memory-column-store-for-business-intelligence-at-swissbiday/",
      "archive_path": "dbi-services/articles/oracle-in-memory-column-store-for-business-intelligence-at-swissbiday.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-and-analytic-queries-before-in-memory-option",
      "title": "Oracle and Analytic Queries before In-Memory option",
      "published_at": "2015-10-04T20:51:43",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-and-analytic-queries-before-in-memory-option/",
      "archive_path": "dbi-services/articles/oracle-and-analytic-queries-before-in-memory-option.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "result-cache-and-12c-fetch-first-n-rows",
      "title": "Result Cache and 12c ‘fetch first n rows’",
      "published_at": "2015-10-04T19:24:41",
      "canonical_url": "https://www.dbi-services.com/blog/result-cache-and-12c-fetch-first-n-rows/",
      "archive_path": "dbi-services/articles/result-cache-and-12c-fetch-first-n-rows.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "query-vundostat-for-relevant-time-window",
      "title": "Query V$UNDOSTAT for relevant time window",
      "published_at": "2015-09-30T16:30:55",
      "canonical_url": "https://www.dbi-services.com/blog/query-vundostat-for-relevant-time-window/",
      "archive_path": "dbi-services/articles/query-vundostat-for-relevant-time-window.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "nothing-in-feature-usage-statistics-since-12c",
      "title": "Nothing in feature usage statistics since 12c?",
      "published_at": "2015-09-29T19:52:43",
      "canonical_url": "https://www.dbi-services.com/blog/nothing-in-feature-usage-statistics-since-12c/",
      "archive_path": "dbi-services/articles/nothing-in-feature-usage-statistics-since-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "do-you-use-sql-plan-baselines",
      "title": "Do you use SQL Plan Baselines?",
      "published_at": "2015-09-25T18:53:40",
      "canonical_url": "https://www.dbi-services.com/blog/do-you-use-sql-plan-baselines/",
      "archive_path": "dbi-services/articles/do-you-use-sql-plan-baselines.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "you-are-in-standard-edition-one-dont-worry",
      "title": "You are in Standard Edition One? Don’t worry.",
      "published_at": "2015-09-19T16:43:19",
      "canonical_url": "https://www.dbi-services.com/blog/you-are-in-standard-edition-one-dont-worry/",
      "archive_path": "dbi-services/articles/you-are-in-standard-edition-one-dont-worry.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "invisible-indexes-its-online-in-12c-even-in-standard-edition",
      "title": "Invisible indexes: it’s online in 12c – even in Standard Edition",
      "published_at": "2015-09-14T16:35:37",
      "canonical_url": "https://www.dbi-services.com/blog/invisible-indexes-its-online-in-12c-even-in-standard-edition/",
      "archive_path": "dbi-services/articles/invisible-indexes-its-online-in-12c-even-in-standard-edition.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "waiting-for-row-lock-but-which-row-is-locked",
      "title": "Waiting for row lock. But which row is locked?",
      "published_at": "2015-09-13T18:37:03",
      "canonical_url": "https://www.dbi-services.com/blog/waiting-for-row-lock-but-which-row-is-locked/",
      "archive_path": "dbi-services/articles/waiting-for-row-lock-but-which-row-is-locked.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "database-cloud-service-performance-network",
      "title": "DataBase Cloud Service performance – Network",
      "published_at": "2015-09-13T10:12:19",
      "canonical_url": "https://www.dbi-services.com/blog/database-cloud-service-performance-network/",
      "archive_path": "dbi-services/articles/database-cloud-service-performance-network.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "windows-10-i-tried-and-came-back",
      "title": "Windows 10 – I tried and came back",
      "published_at": "2015-09-07T20:26:14",
      "canonical_url": "https://www.dbi-services.com/blog/windows-10-i-tried-and-came-back/",
      "archive_path": "dbi-services/articles/windows-10-i-tried-and-came-back.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "measuring-iops-on-xtremio",
      "title": "Measuring IOPS on XtremIO",
      "published_at": "2015-09-07T19:28:44",
      "canonical_url": "https://www.dbi-services.com/blog/measuring-iops-on-xtremio/",
      "archive_path": "dbi-services/articles/measuring-iops-on-xtremio.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "set-stateapply-off-and-datafile-consistency",
      "title": "set state=apply-off and datafile consistency",
      "published_at": "2015-09-06T17:11:37",
      "canonical_url": "https://www.dbi-services.com/blog/set-stateapply-off-and-datafile-consistency/",
      "archive_path": "dbi-services/articles/set-stateapply-off-and-datafile-consistency.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-standard-edition-two",
      "title": "Oracle Standard Edition Two",
      "published_at": "2015-09-02T07:00:08",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-standard-edition-two/",
      "archive_path": "dbi-services/articles/oracle-standard-edition-two.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "database-cloud-service-performance-cpu",
      "title": "DataBase Cloud Service performance – CPU",
      "published_at": "2015-08-30T20:47:58",
      "canonical_url": "https://www.dbi-services.com/blog/database-cloud-service-performance-cpu/",
      "archive_path": "dbi-services/articles/database-cloud-service-performance-cpu.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "database-cloud-service-performance-iops",
      "title": "DataBase Cloud Service performance – IOPS",
      "published_at": "2015-08-28T22:01:42",
      "canonical_url": "https://www.dbi-services.com/blog/database-cloud-service-performance-iops/",
      "archive_path": "dbi-services/articles/database-cloud-service-performance-iops.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "slob-in-the-cloud-how-to-check-cloud-services-performance",
      "title": "SLOB in the Cloud: how to check Cloud Services performance",
      "published_at": "2015-08-28T18:40:11",
      "canonical_url": "https://www.dbi-services.com/blog/slob-in-the-cloud-how-to-check-cloud-services-performance/",
      "archive_path": "dbi-services/articles/slob-in-the-cloud-how-to-check-cloud-services-performance.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "scn-synchronization-in-distributed-transactions",
      "title": "SCN synchronization in distributed transactions",
      "published_at": "2015-08-27T17:47:52",
      "canonical_url": "https://www.dbi-services.com/blog/scn-synchronization-in-distributed-transactions/",
      "archive_path": "dbi-services/articles/scn-synchronization-in-distributed-transactions.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-cloud-services-dbaas-and-dbi-services-best-practices",
      "title": "Oracle Cloud Services DBaaS and dbi services best practices",
      "published_at": "2015-08-27T17:30:15",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-cloud-services-dbaas-and-dbi-services-best-practices/",
      "archive_path": "dbi-services/articles/oracle-cloud-services-dbaas-and-dbi-services-best-practices.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-cdc-for-datawarehouse-dbvisit-replicate-as-an-alternative",
      "title": "Oracle CDC for Datawarehouse, Dbvisit replicate as an alternative",
      "published_at": "2015-08-26T20:21:46",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-cdc-for-datawarehouse-dbvisit-replicate-as-an-alternative/",
      "archive_path": "dbi-services/articles/oracle-cdc-for-datawarehouse-dbvisit-replicate-as-an-alternative.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-database-cloud-service-dbaas",
      "title": "Oracle Database Cloud Service – DBaaS",
      "published_at": "2015-08-25T06:10:51",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-database-cloud-service-dbaas/",
      "archive_path": "dbi-services/articles/oracle-database-cloud-service-dbaas.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "configure-the-resource-manager-with-sql-developer",
      "title": "Configure the Resource Manager with SQL Developer",
      "published_at": "2015-08-23T19:23:40",
      "canonical_url": "https://www.dbi-services.com/blog/configure-the-resource-manager-with-sql-developer/",
      "archive_path": "dbi-services/articles/configure-the-resource-manager-with-sql-developer.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dataguard-broker-properties-part-ii-log-shipping-parameters",
      "title": "DataGuard broker properties – Part II: log shipping parameters",
      "published_at": "2015-08-23T14:26:34",
      "canonical_url": "https://www.dbi-services.com/blog/dataguard-broker-properties-part-ii-log-shipping-parameters/",
      "archive_path": "dbi-services/articles/dataguard-broker-properties-part-ii-log-shipping-parameters.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "materialized-view-explain_rewrite",
      "title": "OCM 12c preparation: Materialized View explain_rewrite",
      "published_at": "2015-08-23T12:58:51",
      "canonical_url": "https://www.dbi-services.com/blog/materialized-view-explain_rewrite/",
      "archive_path": "dbi-services/articles/materialized-view-explain_rewrite.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dataguard-broker-properties-part-i-imported-parameters",
      "title": "DataGuard broker properties – Part I: imported parameters",
      "published_at": "2015-08-23T10:48:51",
      "canonical_url": "https://www.dbi-services.com/blog/dataguard-broker-properties-part-i-imported-parameters/",
      "archive_path": "dbi-services/articles/dataguard-broker-properties-part-i-imported-parameters.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "resultcache-hint-expiration-options",
      "title": "RESULT_CACHE hint expiration options",
      "published_at": "2015-07-05T20:22:07",
      "canonical_url": "https://www.dbi-services.com/blog/resultcache-hint-expiration-options/",
      "archive_path": "dbi-services/articles/resultcache-hint-expiration-options.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multitenant-vs-schema-based-consolidation",
      "title": "Multitenant vs. schema based consolidation",
      "published_at": "2015-06-30T15:12:00",
      "canonical_url": "https://www.dbi-services.com/blog/multitenant-vs-schema-based-consolidation/",
      "archive_path": "dbi-services/articles/multitenant-vs-schema-based-consolidation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-log-writer-and-write-ahead-logging",
      "title": "Oracle Log Writer and Write-Ahead-Logging",
      "published_at": "2015-06-28T15:29:01",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-log-writer-and-write-ahead-logging/",
      "archive_path": "dbi-services/articles/oracle-log-writer-and-write-ahead-logging.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-database-cloud-service-my-first-trial",
      "title": "Oracle Database Cloud Service – My first trial",
      "published_at": "2015-06-27T16:31:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-database-cloud-service-my-first-trial/",
      "archive_path": "dbi-services/articles/oracle-database-cloud-service-my-first-trial.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rac-buffer-states-xcur-scur-pi-ci",
      "title": "RAC buffer states: XCUR, SCUR, PI, CI",
      "published_at": "2015-06-25T17:43:25",
      "canonical_url": "https://www.dbi-services.com/blog/rac-buffer-states-xcur-scur-pi-ci/",
      "archive_path": "dbi-services/articles/rac-buffer-states-xcur-scur-pi-ci.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "multithreaded-12c-and-connect-as-sysdba",
      "title": "Multithreaded 12c and ‘connect / as sysdba’",
      "published_at": "2015-06-24T05:21:34",
      "canonical_url": "https://www.dbi-services.com/blog/multithreaded-12c-and-connect-as-sysdba/",
      "archive_path": "dbi-services/articles/multithreaded-12c-and-connect-as-sysdba.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "2-ways-to-move-archivelogs-both-need-rman",
      "title": "2 ways to move archivelogs – both need RMAN",
      "published_at": "2015-06-23T18:03:35",
      "canonical_url": "https://www.dbi-services.com/blog/2-ways-to-move-archivelogs-both-need-rman/",
      "archive_path": "dbi-services/articles/2-ways-to-move-archivelogs-both-need-rman.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "buffer-pool-advisory-in-awr",
      "title": "Buffer pool advisory in AWR",
      "published_at": "2015-06-23T11:45:00",
      "canonical_url": "https://www.dbi-services.com/blog/buffer-pool-advisory-in-awr/",
      "archive_path": "dbi-services/articles/buffer-pool-advisory-in-awr.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "do-the-block-size-matter",
      "title": "Does the block size matter?",
      "published_at": "2015-06-23T08:57:00",
      "canonical_url": "https://www.dbi-services.com/blog/do-the-block-size-matter/",
      "archive_path": "dbi-services/articles/do-the-block-size-matter.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "show-the-top-10-events-from-latest-awr-snapshot",
      "title": "Show the Top 10 events from latest AWR snapshot",
      "published_at": "2015-06-12T10:41:42",
      "canonical_url": "https://www.dbi-services.com/blog/show-the-top-10-events-from-latest-awr-snapshot/",
      "archive_path": "dbi-services/articles/show-the-top-10-events-from-latest-awr-snapshot.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "parallel-dml-in-12c",
      "title": "Parallel DML in 12c",
      "published_at": "2015-06-12T10:39:49",
      "canonical_url": "https://www.dbi-services.com/blog/parallel-dml-in-12c/",
      "archive_path": "dbi-services/articles/parallel-dml-in-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "can-you-have-pending-system-statistics",
      "title": "Can you have pending system statistics?",
      "published_at": "2015-06-12T10:17:22",
      "canonical_url": "https://www.dbi-services.com/blog/can-you-have-pending-system-statistics/",
      "archive_path": "dbi-services/articles/can-you-have-pending-system-statistics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "flame-graph-for-quick-identification-of-oracle-bug",
      "title": "Flame Graph for quick identification of Oracle bug",
      "published_at": "2015-06-12T10:12:07",
      "canonical_url": "https://www.dbi-services.com/blog/flame-graph-for-quick-identification-of-oracle-bug/",
      "archive_path": "dbi-services/articles/flame-graph-for-quick-identification-of-oracle-bug.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "an-alternative-to-dba_extents-optimized-for-lmt",
      "title": "An alternative to DBA_EXTENTS optimized for LMT",
      "published_at": "2015-06-12T08:27:49",
      "canonical_url": "https://www.dbi-services.com/blog/an-alternative-to-dba_extents-optimized-for-lmt/",
      "archive_path": "dbi-services/articles/an-alternative-to-dba_extents-optimized-for-lmt.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-memory-advisors-how-relevant",
      "title": "Oracle memory advisors: how relevant ?",
      "published_at": "2015-06-12T08:10:45",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-memory-advisors-how-relevant/",
      "archive_path": "dbi-services/articles/oracle-memory-advisors-how-relevant.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-to-disable-a-sql-plan-directive-permanently",
      "title": "How to disable a SQL Plan Directive permanently",
      "published_at": "2015-06-12T08:01:13",
      "canonical_url": "https://www.dbi-services.com/blog/how-to-disable-a-sql-plan-directive-permanently/",
      "archive_path": "dbi-services/articles/how-to-disable-a-sql-plan-directive-permanently.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "convert-a-snapshot-standby-to-a-new-database",
      "title": "Convert a snapshot standby to a new database",
      "published_at": "2015-06-12T07:39:55",
      "canonical_url": "https://www.dbi-services.com/blog/convert-a-snapshot-standby-to-a-new-database/",
      "archive_path": "dbi-services/articles/convert-a-snapshot-standby-to-a-new-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-dynamic-sampling-and-standard-edition",
      "title": "12c Dynamic Sampling and Standard Edition",
      "published_at": "2015-06-12T07:28:46",
      "canonical_url": "https://www.dbi-services.com/blog/12c-dynamic-sampling-and-standard-edition/",
      "archive_path": "dbi-services/articles/12c-dynamic-sampling-and-standard-edition.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-to-import-sql-plan-directives",
      "title": "How to import SQL Plan Directives",
      "published_at": "2015-06-12T07:18:08",
      "canonical_url": "https://www.dbi-services.com/blog/how-to-import-sql-plan-directives/",
      "archive_path": "dbi-services/articles/how-to-import-sql-plan-directives.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dba_sql_plan_directive-last_used",
      "title": "DBA_SQL_PLAN_DIRECTIVE.LAST_USED",
      "published_at": "2015-06-12T07:13:27",
      "canonical_url": "https://www.dbi-services.com/blog/dba_sql_plan_directive-last_used/",
      "archive_path": "dbi-services/articles/dba_sql_plan_directive-last_used.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "list-all-rman-backups-that-are-needed-to-recover",
      "title": "List all RMAN backups that are needed to recover",
      "published_at": "2015-05-20T07:46:01",
      "canonical_url": "https://www.dbi-services.com/blog/list-all-rman-backups-that-are-needed-to-recover/",
      "archive_path": "dbi-services/articles/list-all-rman-backups-that-are-needed-to-recover.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "variations-on-1m-insert-6-cpu-flame-graph",
      "title": "Variations on 1M insert (6): CPU Flame Graph",
      "published_at": "2015-05-18T13:38:24",
      "canonical_url": "https://www.dbi-services.com/blog/variations-on-1m-insert-6-cpu-flame-graph/",
      "archive_path": "dbi-services/articles/variations-on-1m-insert-6-cpu-flame-graph.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "variations-on-1m-rows-insert-5-using-perf",
      "title": "Variations on 1M rows insert (5): using ‘perf’",
      "published_at": "2015-05-18T13:36:23",
      "canonical_url": "https://www.dbi-services.com/blog/variations-on-1m-rows-insert-5-using-perf/",
      "archive_path": "dbi-services/articles/variations-on-1m-rows-insert-5-using-perf.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "variations-on-1m-rows-insert-4-in-memory",
      "title": "Variations on 1M rows insert (4): IN MEMORY",
      "published_at": "2015-05-18T13:29:02",
      "canonical_url": "https://www.dbi-services.com/blog/variations-on-1m-rows-insert-4-in-memory/",
      "archive_path": "dbi-services/articles/variations-on-1m-rows-insert-4-in-memory.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "matching-sql-plan-directives-and-queries-using-it",
      "title": "Matching SQL Plan Directives and queries using it",
      "published_at": "2015-05-18T13:17:21",
      "canonical_url": "https://www.dbi-services.com/blog/matching-sql-plan-directives-and-queries-using-it/",
      "archive_path": "dbi-services/articles/matching-sql-plan-directives-and-queries-using-it.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "matching-sql-plan-directives-and-extended-stats",
      "title": "Matching SQL Plan Directives and extended stats",
      "published_at": "2015-05-18T13:02:51",
      "canonical_url": "https://www.dbi-services.com/blog/matching-sql-plan-directives-and-extended-stats/",
      "archive_path": "dbi-services/articles/matching-sql-plan-directives-and-extended-stats.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "variations-on-1m-rows-insert-4-append_values",
      "title": "Variations on 1M rows insert (4): APPEND_VALUES",
      "published_at": "2015-05-18T12:27:57",
      "canonical_url": "https://www.dbi-services.com/blog/variations-on-1m-rows-insert-4-append_values/",
      "archive_path": "dbi-services/articles/variations-on-1m-rows-insert-4-append_values.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rebuilt-index-on-increasing-values-after-deletes",
      "title": "Rebuilt index on increasing values after deletes?",
      "published_at": "2015-05-18T11:49:01",
      "canonical_url": "https://www.dbi-services.com/blog/rebuilt-index-on-increasing-values-after-deletes/",
      "archive_path": "dbi-services/articles/rebuilt-index-on-increasing-values-after-deletes.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "variations-on-1m-rows-insert-3-timesten",
      "title": "Variations on 1M rows insert (3): TimesTen",
      "published_at": "2015-05-18T08:26:49",
      "canonical_url": "https://www.dbi-services.com/blog/variations-on-1m-rows-insert-3-timesten/",
      "archive_path": "dbi-services/articles/variations-on-1m-rows-insert-3-timesten.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "variations-on-1m-rows-insert2-commit-write",
      "title": "Variations on 1M rows insert(2): commit write",
      "published_at": "2015-05-18T08:06:07",
      "canonical_url": "https://www.dbi-services.com/blog/variations-on-1m-rows-insert2-commit-write/",
      "archive_path": "dbi-services/articles/variations-on-1m-rows-insert2-commit-write.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "variations-on-1m-rows-insert-1-bulk-insert",
      "title": "Variations on 1M rows insert (1): bulk insert",
      "published_at": "2015-05-18T07:44:27",
      "canonical_url": "https://www.dbi-services.com/blog/variations-on-1m-rows-insert-1-bulk-insert/",
      "archive_path": "dbi-services/articles/variations-on-1m-rows-insert-1-bulk-insert.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "a-migration-pitfall-with-all-column-size-auto",
      "title": "A migration pitfall with ALL COLUMN SIZE AUTO",
      "published_at": "2015-05-18T07:25:14",
      "canonical_url": "https://www.dbi-services.com/blog/a-migration-pitfall-with-all-column-size-auto/",
      "archive_path": "dbi-services/articles/a-migration-pitfall-with-all-column-size-auto.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "list-listeners-and-services-from-the-instance",
      "title": "List listeners and services from the instance",
      "published_at": "2015-05-18T07:00:15",
      "canonical_url": "https://www.dbi-services.com/blog/list-listeners-and-services-from-the-instance/",
      "archive_path": "dbi-services/articles/list-listeners-and-services-from-the-instance.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "alter-table-inmemory",
      "title": "ALTER TABLE INMEMORY",
      "published_at": "2015-05-18T06:55:10",
      "canonical_url": "https://www.dbi-services.com/blog/alter-table-inmemory/",
      "archive_path": "dbi-services/articles/alter-table-inmemory.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "c15lv-nothing-to-blog-about-think-again",
      "title": "C15LV: Nothing to BLOG About – Think Again",
      "published_at": "2015-05-18T06:39:53",
      "canonical_url": "https://www.dbi-services.com/blog/c15lv-nothing-to-blog-about-think-again/",
      "archive_path": "dbi-services/articles/c15lv-nothing-to-blog-about-think-again.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sql-monitor-report-little-improvement-in-12c",
      "title": "SQL Monitor report little improvement in 12c",
      "published_at": "2015-05-18T06:16:03",
      "canonical_url": "https://www.dbi-services.com/blog/sql-monitor-report-little-improvement-in-12c/",
      "archive_path": "dbi-services/articles/sql-monitor-report-little-improvement-in-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "yesterdays-awr-straight-to-the-goal",
      "title": "Yesterday’s AWR Straight to the Goal",
      "published_at": "2015-04-14T10:43:20",
      "canonical_url": "https://www.dbi-services.com/blog/yesterdays-awr-straight-to-the-goal/",
      "archive_path": "dbi-services/articles/yesterdays-awr-straight-to-the-goal.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "cloning-a-pdb-from-a-standby-database",
      "title": "Cloning a PDB from a standby database",
      "published_at": "2015-04-13T09:14:16",
      "canonical_url": "https://www.dbi-services.com/blog/cloning-a-pdb-from-a-standby-database/",
      "archive_path": "dbi-services/articles/cloning-a-pdb-from-a-standby-database.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rac-attack-was-another-great-success-at-c15lv",
      "title": "RAC Attack! was another great success at C15LV",
      "published_at": "2015-04-12T18:49:19",
      "canonical_url": "https://www.dbi-services.com/blog/rac-attack-was-another-great-success-at-c15lv/",
      "archive_path": "dbi-services/articles/rac-attack-was-another-great-success-at-c15lv.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dbvisit-replicate-redoreadmethod",
      "title": "Dbvisit replicate REDO_READ_METHOD",
      "published_at": "2015-04-09T16:15:56",
      "canonical_url": "https://www.dbi-services.com/blog/dbvisit-replicate-redoreadmethod/",
      "archive_path": "dbi-services/articles/dbvisit-replicate-redoreadmethod.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "dataguard-wait-events-have-changed-in-12c",
      "title": "DataGuard wait events have changed in 12c",
      "published_at": "2015-04-08T15:11:00",
      "canonical_url": "https://www.dbi-services.com/blog/dataguard-wait-events-have-changed-in-12c/",
      "archive_path": "dbi-services/articles/dataguard-wait-events-have-changed-in-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-tuning-silver-bullet-add-an-order-by-to-make-your-query-faster",
      "title": "Oracle tuning silver bullet: add an order by to make your query faster",
      "published_at": "2015-04-01T04:00:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-tuning-silver-bullet-add-an-order-by-to-make-your-query-faster/",
      "archive_path": "dbi-services/articles/oracle-tuning-silver-bullet-add-an-order-by-to-make-your-query-faster.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "index-on-truncdate-do-you-still-need-old-index-1",
      "title": "Index on SUBSTR(string,1,n) – do you still need old index?",
      "published_at": "2015-03-27T07:57:00",
      "canonical_url": "https://www.dbi-services.com/blog/index-on-truncdate-do-you-still-need-old-index-1/",
      "archive_path": "dbi-services/articles/index-on-truncdate-do-you-still-need-old-index-1.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "standard-edition-on-oracle-database-appliance",
      "title": "Standard Edition on Oracle Database Appliance",
      "published_at": "2015-03-25T15:15:00",
      "canonical_url": "https://www.dbi-services.com/blog/standard-edition-on-oracle-database-appliance/",
      "archive_path": "dbi-services/articles/standard-edition-on-oracle-database-appliance.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-shutdown-abort-a-pdb",
      "title": "12c: shutdown abort a PDB?",
      "published_at": "2015-03-16T03:56:49",
      "canonical_url": "https://www.dbi-services.com/blog/12c-shutdown-abort-a-pdb/",
      "archive_path": "dbi-services/articles/12c-shutdown-abort-a-pdb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "index-on-truncdate-do-you-still-need-old-index",
      "title": "Index on trunc(date) – do you still need old index?",
      "published_at": "2015-03-15T19:16:20",
      "canonical_url": "https://www.dbi-services.com/blog/index-on-truncdate-do-you-still-need-old-index/",
      "archive_path": "dbi-services/articles/index-on-truncdate-do-you-still-need-old-index.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-compression-availability-and-licensing",
      "title": "Oracle compression, availability and licensing",
      "published_at": "2015-03-06T19:03:52",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-compression-availability-and-licensing/",
      "archive_path": "dbi-services/articles/oracle-compression-availability-and-licensing.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "generic-query-for-multicriteria-search-part-ii-bindaware-adaptive-cursor-sharing",
      "title": "Generic query for multicriteria search – part II: BIND_AWARE (Adaptive Cursor Sharing)",
      "published_at": "2015-03-03T18:52:30",
      "canonical_url": "https://www.dbi-services.com/blog/generic-query-for-multicriteria-search-part-ii-bindaware-adaptive-cursor-sharing/",
      "archive_path": "dbi-services/articles/generic-query-for-multicriteria-search-part-ii-bindaware-adaptive-cursor-sharing.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "generic-query-for-multicriteria-search-part-i-useconcat-or-expansion",
      "title": "Generic query for multicriteria search – part I: USE_CONCAT (OR Expansion)",
      "published_at": "2015-03-03T18:47:19",
      "canonical_url": "https://www.dbi-services.com/blog/generic-query-for-multicriteria-search-part-i-useconcat-or-expansion/",
      "archive_path": "dbi-services/articles/generic-query-for-multicriteria-search-part-i-useconcat-or-expansion.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "rac-attack-next-month-12c-in-las-vegas",
      "title": "RAC Attack! next month 12c in Las Vegas",
      "published_at": "2015-03-03T18:39:00",
      "canonical_url": "https://www.dbi-services.com/blog/rac-attack-next-month-12c-in-las-vegas/",
      "archive_path": "dbi-services/articles/rac-attack-next-month-12c-in-las-vegas.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "query-the-enterprise-manager-collected-metrics",
      "title": "Query the Enterprise Manager collected metrics",
      "published_at": "2015-03-02T12:10:37",
      "canonical_url": "https://www.dbi-services.com/blog/query-the-enterprise-manager-collected-metrics/",
      "archive_path": "dbi-services/articles/query-the-enterprise-manager-collected-metrics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-online-statistics-gathering-and-startup-restrict",
      "title": "12c online statistics gathering and startup restrict",
      "published_at": "2015-02-21T20:15:52",
      "canonical_url": "https://www.dbi-services.com/blog/12c-online-statistics-gathering-and-startup-restrict/",
      "archive_path": "dbi-services/articles/12c-online-statistics-gathering-and-startup-restrict.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-to-set-nls-for-sql-developer",
      "title": "How to set NLS for SQL Developer",
      "published_at": "2015-02-21T18:24:45",
      "canonical_url": "https://www.dbi-services.com/blog/how-to-set-nls-for-sql-developer/",
      "archive_path": "dbi-services/articles/how-to-set-nls-for-sql-developer.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "is-cdb-stable-now-after-one-patchset-and-two-psu",
      "title": "Is CDB stable after one patchset and two PSU?",
      "published_at": "2015-02-16T19:23:00",
      "canonical_url": "https://www.dbi-services.com/blog/is-cdb-stable-now-after-one-patchset-and-two-psu/",
      "archive_path": "dbi-services/articles/is-cdb-stable-now-after-one-patchset-and-two-psu.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracletext-deletes-and-garbage",
      "title": "OracleText: deletes and garbage",
      "published_at": "2015-02-15T19:21:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracletext-deletes-and-garbage/",
      "archive_path": "dbi-services/articles/oracletext-deletes-and-garbage.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracletext-inserts-and-fragmentation",
      "title": "OracleText: inserts and fragmentation",
      "published_at": "2015-02-15T18:37:29",
      "canonical_url": "https://www.dbi-services.com/blog/oracletext-inserts-and-fragmentation/",
      "archive_path": "dbi-services/articles/oracletext-inserts-and-fragmentation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "never-gather-workload-stats-on-exadata",
      "title": "Never gather WORKLOAD stats on Exadata…",
      "published_at": "2015-02-09T05:56:23",
      "canonical_url": "https://www.dbi-services.com/blog/never-gather-workload-stats-on-exadata/",
      "archive_path": "dbi-services/articles/never-gather-workload-stats-on-exadata.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-multitenant-dictionary-rowcache",
      "title": "Oracle multitenant dictionary: rowcache",
      "published_at": "2015-02-08T18:23:53",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-multitenant-dictionary-rowcache/",
      "archive_path": "dbi-services/articles/oracle-multitenant-dictionary-rowcache.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "ioug-collaborate-c15lv",
      "title": "IOUG Collaborate #C15LV",
      "published_at": "2015-02-03T05:48:27",
      "canonical_url": "https://www.dbi-services.com/blog/ioug-collaborate-c15lv/",
      "archive_path": "dbi-services/articles/ioug-collaborate-c15lv.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "flush-one-sql-statement-to-hard-parse-it-again",
      "title": "Flush one SQL statement to hard parse it again",
      "published_at": "2015-01-29T02:12:00",
      "canonical_url": "https://www.dbi-services.com/blog/flush-one-sql-statement-to-hard-parse-it-again/",
      "archive_path": "dbi-services/articles/flush-one-sql-statement-to-hard-parse-it-again.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "stay-with-non-cdb-or-go-to-cdb",
      "title": "Stay with non-CDB or go to CDB?",
      "published_at": "2015-01-28T14:19:11",
      "canonical_url": "https://www.dbi-services.com/blog/stay-with-non-cdb-or-go-to-cdb/",
      "archive_path": "dbi-services/articles/stay-with-non-cdb-or-go-to-cdb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "when-to-gather-workload-system-statistics",
      "title": "When to gather workload system statistics?",
      "published_at": "2015-01-23T12:40:53",
      "canonical_url": "https://www.dbi-services.com/blog/when-to-gather-workload-system-statistics/",
      "archive_path": "dbi-services/articles/when-to-gather-workload-system-statistics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "nlslang-on-windows-in-europe-we8mswin1252-or-we8pc850",
      "title": "NLS_LANG on Windows in Europe: WE8MSWIN1252 or WE8PC850?",
      "published_at": "2015-01-15T03:57:00",
      "canonical_url": "https://www.dbi-services.com/blog/nlslang-on-windows-in-europe-we8mswin1252-or-we8pc850/",
      "archive_path": "dbi-services/articles/nlslang-on-windows-in-europe-we8mswin1252-or-we8pc850.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "flashback-logging-overhead-db-file-sequential-read-on-undo-tablespace",
      "title": "Flashback logging overhead: ‘db file sequential read’ on UNDO tablespace",
      "published_at": "2015-01-09T17:09:00",
      "canonical_url": "https://www.dbi-services.com/blog/flashback-logging-overhead-db-file-sequential-read-on-undo-tablespace/",
      "archive_path": "dbi-services/articles/flashback-logging-overhead-db-file-sequential-read-on-undo-tablespace.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "insert-into-gtt-bulk-with-appendvalues",
      "title": "Insert into GTT: bulk with APPEND_VALUES",
      "published_at": "2015-01-09T17:04:00",
      "canonical_url": "https://www.dbi-services.com/blog/insert-into-gtt-bulk-with-appendvalues/",
      "archive_path": "dbi-services/articles/insert-into-gtt-bulk-with-appendvalues.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-multitenant-dictionary-upgrade",
      "title": "Oracle multitenant dictionary: upgrade",
      "published_at": "2015-01-05T20:10:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-multitenant-dictionary-upgrade/",
      "archive_path": "dbi-services/articles/oracle-multitenant-dictionary-upgrade.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-multitenant-dictionary-metadata-links",
      "title": "Oracle multitenant dictionary: metadata links",
      "published_at": "2015-01-05T20:02:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-multitenant-dictionary-metadata-links/",
      "archive_path": "dbi-services/articles/oracle-multitenant-dictionary-metadata-links.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-multitenant-dictionary-object-links",
      "title": "Oracle multitenant dictionary: object links",
      "published_at": "2014-12-29T19:28:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-multitenant-dictionary-object-links/",
      "archive_path": "dbi-services/articles/oracle-multitenant-dictionary-object-links.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "create-schema-synonym-in-oracle-unsupported-feature",
      "title": "Creating a schema synonym in Oracle – an unsupported feature",
      "published_at": "2014-12-28T18:59:38",
      "canonical_url": "https://www.dbi-services.com/blog/create-schema-synonym-in-oracle-unsupported-feature/",
      "archive_path": "dbi-services/articles/create-schema-synonym-in-oracle-unsupported-feature.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-lateral-inline-view-cursor-expression-and-12c-implicit-statement-result",
      "title": "Oracle lateral inline view, cursor expression and 12c implicit statement result",
      "published_at": "2014-12-15T13:50:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-lateral-inline-view-cursor-expression-and-12c-implicit-statement-result/",
      "archive_path": "dbi-services/articles/oracle-lateral-inline-view-cursor-expression-and-12c-implicit-statement-result.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "can-we-disable-logging-for-dml",
      "title": "Oracle 12c: Can we disable logging for DML?",
      "published_at": "2014-12-15T13:38:00",
      "canonical_url": "https://www.dbi-services.com/blog/can-we-disable-logging-for-dml/",
      "archive_path": "dbi-services/articles/can-we-disable-logging-for-dml.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sqlplus-copy-command-is-back-as-bridge",
      "title": "SQL*Plus COPY Command is back as BRIDGE",
      "published_at": "2014-12-08T19:38:33",
      "canonical_url": "https://www.dbi-services.com/blog/sqlplus-copy-command-is-back-as-bridge/",
      "archive_path": "dbi-services/articles/sqlplus-copy-command-is-back-as-bridge.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12c-comparing-tts-with-noncdbtopdb",
      "title": "Oracle 12c: comparing TTS with noncdb_to_pdb",
      "published_at": "2014-12-01T12:44:10",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12c-comparing-tts-with-noncdbtopdb/",
      "archive_path": "dbi-services/articles/oracle-12c-comparing-tts-with-noncdbtopdb.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "when-oracle-resets-session-statistics",
      "title": "When Oracle resets session statistics",
      "published_at": "2014-11-29T19:59:01",
      "canonical_url": "https://www.dbi-services.com/blog/when-oracle-resets-session-statistics/",
      "archive_path": "dbi-services/articles/when-oracle-resets-session-statistics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-privilege-analysis-rocks",
      "title": "Oracle 12c privilege analysis rocks",
      "published_at": "2014-11-26T18:18:29",
      "canonical_url": "https://www.dbi-services.com/blog/12c-privilege-analysis-rocks/",
      "archive_path": "dbi-services/articles/12c-privilege-analysis-rocks.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-locks-identifiying-blocking-sessions",
      "title": "Oracle locks: Identifying blocking sessions",
      "published_at": "2014-11-17T13:17:07",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-locks-identifiying-blocking-sessions/",
      "archive_path": "dbi-services/articles/oracle-locks-identifiying-blocking-sessions.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-sql-plan-directive-state-has-changed-between-12101-and-12102",
      "title": "12c SQL Plan Directive: state has changed between 12.1.0.1 and 12.1.0.2",
      "published_at": "2014-11-16T13:38:52",
      "canonical_url": "https://www.dbi-services.com/blog/12c-sql-plan-directive-state-has-changed-between-12101-and-12102/",
      "archive_path": "dbi-services/articles/12c-sql-plan-directive-state-has-changed-between-12101-and-12102.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "awr-dont-store-explain-plan-predicates",
      "title": "AWR does not store explain plan predicates",
      "published_at": "2014-11-11T18:49:34",
      "canonical_url": "https://www.dbi-services.com/blog/awr-dont-store-explain-plan-predicates/",
      "archive_path": "dbi-services/articles/awr-dont-store-explain-plan-predicates.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12102-cdb-views-are-now-using-containers",
      "title": "12.1.0.2 CDB views are now using CONTAINERS()",
      "published_at": "2014-11-11T11:41:43",
      "canonical_url": "https://www.dbi-services.com/blog/12102-cdb-views-are-now-using-containers/",
      "archive_path": "dbi-services/articles/12102-cdb-views-are-now-using-containers.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-sql-profile-why-multiple-optestimate",
      "title": "Oracle SQL Profile: why multiple OPT_ESTIMATE?",
      "published_at": "2014-11-08T19:48:24",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-sql-profile-why-multiple-optestimate/",
      "archive_path": "dbi-services/articles/oracle-sql-profile-why-multiple-optestimate.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-sql-profiles-check-what-they-do-before-accepting-them-blindly",
      "title": "Oracle SQL Profiles: Check what they do before accepting them blindly",
      "published_at": "2014-11-07T20:28:30",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-sql-profiles-check-what-they-do-before-accepting-them-blindly/",
      "archive_path": "dbi-services/articles/oracle-sql-profiles-check-what-they-do-before-accepting-them-blindly.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "using-tmux-for-semi-interactive-demos",
      "title": "Using tmux for semi-interactive demos",
      "published_at": "2014-11-06T18:36:09",
      "canonical_url": "https://www.dbi-services.com/blog/using-tmux-for-semi-interactive-demos/",
      "archive_path": "dbi-services/articles/using-tmux-for-semi-interactive-demos.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "the-future-of-sqlplus-and-some-oddities",
      "title": "The future of SQL*Plus and some oddities",
      "published_at": "2014-11-05T17:19:37",
      "canonical_url": "https://www.dbi-services.com/blog/the-future-of-sqlplus-and-some-oddities/",
      "archive_path": "dbi-services/articles/the-future-of-sqlplus-and-some-oddities.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-to-disable-all-database-links",
      "title": "How to disable all database links",
      "published_at": "2014-11-04T17:36:58",
      "canonical_url": "https://www.dbi-services.com/blog/how-to-disable-all-database-links/",
      "archive_path": "dbi-services/articles/how-to-disable-all-database-links.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-cloud-control-sql-details-statistics",
      "title": "Oracle cloud control / SQL Details / Statistics",
      "published_at": "2014-10-29T10:06:09",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-cloud-control-sql-details-statistics/",
      "archive_path": "dbi-services/articles/oracle-cloud-control-sql-details-statistics.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-an-unexpected-lock-behaviour-with-rollback",
      "title": "Oracle: an unexpected lock behavior with rollback",
      "published_at": "2014-10-26T19:20:45",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-an-unexpected-lock-behaviour-with-rollback/",
      "archive_path": "dbi-services/articles/oracle-an-unexpected-lock-behaviour-with-rollback.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "from-80-extended-rowid-to-12c-pluggable-db-or-why-oracle-database-is-still-a-great-software",
      "title": "From 8.0 extended rowid to 12c pluggable db: Why Oracle Database is still a great software",
      "published_at": "2014-10-24T07:31:04",
      "canonical_url": "https://www.dbi-services.com/blog/from-80-extended-rowid-to-12c-pluggable-db-or-why-oracle-database-is-still-a-great-software/",
      "archive_path": "dbi-services/articles/from-80-extended-rowid-to-12c-pluggable-db-or-why-oracle-database-is-still-a-great-software.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "what-about-alter-index-shrink-space",
      "title": "What about ALTER INDEX … SHRINK SPACE ?",
      "published_at": "2014-10-20T16:37:40",
      "canonical_url": "https://www.dbi-services.com/blog/what-about-alter-index-shrink-space/",
      "archive_path": "dbi-services/articles/what-about-alter-index-shrink-space.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-iot-when-to-use-index-organized-tables",
      "title": "Oracle IOT: when to use Index Organized Tables",
      "published_at": "2014-10-16T16:17:50",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-iot-when-to-use-index-organized-tables/",
      "archive_path": "dbi-services/articles/oracle-iot-when-to-use-index-organized-tables.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-system-statistics-display-auxstats-with-calculated-values-and-formulas",
      "title": "Oracle system statistics: Display AUX_STATS$ with calculated values and formulas",
      "published_at": "2014-10-15T05:13:08",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-system-statistics-display-auxstats-with-calculated-values-and-formulas/",
      "archive_path": "dbi-services/articles/oracle-system-statistics-display-auxstats-with-calculated-values-and-formulas.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-i-measure-oracle-index-fragmentation",
      "title": "How to measure Oracle index fragmentation",
      "published_at": "2014-10-13T18:39:17",
      "canonical_url": "https://www.dbi-services.com/blog/how-i-measure-oracle-index-fragmentation/",
      "archive_path": "dbi-services/articles/how-i-measure-oracle-index-fragmentation.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "how-to-measure-exadata-smartscan-efficiency",
      "title": "How to measure Exadata SmartScan efficiency",
      "published_at": "2014-09-23T07:09:50",
      "canonical_url": "https://www.dbi-services.com/blog/how-to-measure-exadata-smartscan-efficiency/",
      "archive_path": "dbi-services/articles/how-to-measure-exadata-smartscan-efficiency.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "do-you-use-oracle-enterprise-edition-features",
      "title": "Thinking about downgrading from Oracle Enterprise to Standard Edition?",
      "published_at": "2014-09-16T05:01:00",
      "canonical_url": "https://www.dbi-services.com/blog/do-you-use-oracle-enterprise-edition-features/",
      "archive_path": "dbi-services/articles/do-you-use-oracle-enterprise-edition-features.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-how-to-move-omf-datafiles-in-11g-and-12c",
      "title": "Oracle: How to move OMF datafiles in 11g and 12c",
      "published_at": "2014-09-10T17:22:16",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-how-to-move-omf-datafiles-in-11g-and-12c/",
      "archive_path": "dbi-services/articles/oracle-how-to-move-omf-datafiles-in-11g-and-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "resize-your-oracle-datafiles-down-to-the-minimum-without-ora-03297",
      "title": "Resize your Oracle datafiles down to the minimum without ORA-03297",
      "published_at": "2014-09-08T10:03:24",
      "canonical_url": "https://www.dbi-services.com/blog/resize-your-oracle-datafiles-down-to-the-minimum-without-ora-03297/",
      "archive_path": "dbi-services/articles/resize-your-oracle-datafiles-down-to-the-minimum-without-ora-03297.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "whats-the-consequence-of-nologging-loads",
      "title": "What’s the consequence of NOLOGGING loads?",
      "published_at": "2014-09-04T13:25:04",
      "canonical_url": "https://www.dbi-services.com/blog/whats-the-consequence-of-nologging-loads/",
      "archive_path": "dbi-services/articles/whats-the-consequence-of-nologging-loads.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-121021-set-to-join-conversion",
      "title": "Oracle 12.1.0.2.1 Set to Join Conversion",
      "published_at": "2014-08-21T05:17:54",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-121021-set-to-join-conversion/",
      "archive_path": "dbi-services/articles/oracle-121021-set-to-join-conversion.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12102-wait-event-histograms-in-s",
      "title": "Oracle 12.1.0.2: Wait event histograms in μs",
      "published_at": "2014-08-04T12:01:00",
      "canonical_url": "https://www.dbi-services.com/blog/12102-wait-event-histograms-in-s/",
      "archive_path": "dbi-services/articles/12102-wait-event-histograms-in-s.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "pdb-media-failure-may-case-the-whole-cdb-to-crash",
      "title": "PDB media failure may cause the whole CDB to crash",
      "published_at": "2014-07-28T11:44:08",
      "canonical_url": "https://www.dbi-services.com/blog/pdb-media-failure-may-case-the-whole-cdb-to-crash/",
      "archive_path": "dbi-services/articles/pdb-media-failure-may-case-the-whole-cdb-to-crash.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sql-monitoring-12102-shows-adaptive-plans",
      "title": "SQL monitoring 12.1.0.2 shows adaptive plans",
      "published_at": "2014-07-25T18:23:01",
      "canonical_url": "https://www.dbi-services.com/blog/sql-monitoring-12102-shows-adaptive-plans/",
      "archive_path": "dbi-services/articles/sql-monitoring-12102-shows-adaptive-plans.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "beyond-in-memory-whats-new-in-12102",
      "title": "Beyond In-Memory, what’s new in 12.1.0.2 ?",
      "published_at": "2014-07-22T13:53:00",
      "canonical_url": "https://www.dbi-services.com/blog/beyond-in-memory-whats-new-in-12102/",
      "archive_path": "dbi-services/articles/beyond-in-memory-whats-new-in-12102.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "drilling-down-vrecoveryareausage",
      "title": "Drilling down V$RECOVERY_AREA_USAGE",
      "published_at": "2014-07-18T19:59:14",
      "canonical_url": "https://www.dbi-services.com/blog/drilling-down-vrecoveryareausage/",
      "archive_path": "dbi-services/articles/drilling-down-vrecoveryareausage.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-em-agent-12c-thread-leak-on-rac",
      "title": "Oracle EM agent 12c thread leak on RAC",
      "published_at": "2014-07-18T02:24:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-em-agent-12c-thread-leak-on-rac/",
      "archive_path": "dbi-services/articles/oracle-em-agent-12c-thread-leak-on-rac.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "partial-join-evaluation-in-oracle-12c",
      "title": "Partial Join Evaluation in Oracle 12c",
      "published_at": "2014-07-14T01:21:00",
      "canonical_url": "https://www.dbi-services.com/blog/partial-join-evaluation-in-oracle-12c/",
      "archive_path": "dbi-services/articles/partial-join-evaluation-in-oracle-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-parallel-query-are-you-doing-mapreduce-for-years-without-knowing-it",
      "title": "Oracle Parallel Query: Did you use MapReduce for years without knowing it?",
      "published_at": "2014-06-26T10:42:21",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-parallel-query-are-you-doing-mapreduce-for-years-without-knowing-it/",
      "archive_path": "dbi-services/articles/oracle-parallel-query-are-you-doing-mapreduce-for-years-without-knowing-it.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "linux-how-to-monitor-the-nofiles-limit",
      "title": "Linux: how to monitor the nofile limit",
      "published_at": "2014-06-18T05:47:53",
      "canonical_url": "https://www.dbi-services.com/blog/linux-how-to-monitor-the-nofiles-limit/",
      "archive_path": "dbi-services/articles/linux-how-to-monitor-the-nofiles-limit.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "linux-how-to-monitor-the-nproc-limit-1",
      "title": "Linux: how to monitor the nproc limit",
      "published_at": "2014-06-10T05:14:00",
      "canonical_url": "https://www.dbi-services.com/blog/linux-how-to-monitor-the-nproc-limit-1/",
      "archive_path": "dbi-services/articles/linux-how-to-monitor-the-nproc-limit-1.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-system-schemas-vs-created-users",
      "title": "How to list all Oracle system schemas",
      "published_at": "2014-06-05T08:51:52",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-system-schemas-vs-created-users/",
      "archive_path": "dbi-services/articles/oracle-system-schemas-vs-created-users.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "poor-optimization-for-firstrows-in-exadata",
      "title": "Oracle Exadata – poor optimization for FIRST_ROWS",
      "published_at": "2014-05-28T07:44:56",
      "canonical_url": "https://www.dbi-services.com/blog/poor-optimization-for-firstrows-in-exadata/",
      "archive_path": "dbi-services/articles/poor-optimization-for-firstrows-in-exadata.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "12c-extended-datatypes-better-than-clob",
      "title": "Oracle 12c extended datatypes better than CLOB?",
      "published_at": "2014-05-23T12:15:31",
      "canonical_url": "https://www.dbi-services.com/blog/12c-extended-datatypes-better-than-clob/",
      "archive_path": "dbi-services/articles/12c-extended-datatypes-better-than-clob.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-sql-monitoring-reports-in-flash-html-text",
      "title": "Oracle SQL Monitoring reports in flash, html, text",
      "published_at": "2014-05-15T17:28:13",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-sql-monitoring-reports-in-flash-html-text/",
      "archive_path": "dbi-services/articles/oracle-sql-monitoring-reports-in-flash-html-text.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "exploring-oracle-se-a-ee-performance-statistics-with-orachrome-lighty",
      "title": "Exploring Oracle SE & EE performance statistics with Orachrome Lighty",
      "published_at": "2014-05-12T08:58:00",
      "canonical_url": "https://www.dbi-services.com/blog/exploring-oracle-se-a-ee-performance-statistics-with-orachrome-lighty/",
      "archive_path": "dbi-services/articles/exploring-oracle-se-a-ee-performance-statistics-with-orachrome-lighty.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-rownum-vs-rownumber-and-12c-fetch-first",
      "title": "ROWNUM vs ROW_NUMBER() and 12c fetch first",
      "published_at": "2014-05-05T05:24:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-rownum-vs-rownumber-and-12c-fetch-first/",
      "archive_path": "dbi-services/articles/oracle-rownum-vs-rownumber-and-12c-fetch-first.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12c-cdb-metadata-a-object-links-internals",
      "title": "Oracle 12c CDB – metadata & object links internals",
      "published_at": "2014-04-30T09:38:40",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12c-cdb-metadata-a-object-links-internals/",
      "archive_path": "dbi-services/articles/oracle-12c-cdb-metadata-a-object-links-internals.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12c-adaptive-plan-inflexion-point",
      "title": "Oracle 12c Adaptive Plan & inflection point",
      "published_at": "2014-04-11T12:25:49",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12c-adaptive-plan-inflexion-point/",
      "archive_path": "dbi-services/articles/oracle-12c-adaptive-plan-inflexion-point.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "best-practice-to-send-an-oracle-execution-plan",
      "title": "Best practice for the sending of an Oracle execution plan",
      "published_at": "2014-04-08T11:12:26",
      "canonical_url": "https://www.dbi-services.com/blog/best-practice-to-send-an-oracle-execution-plan/",
      "archive_path": "dbi-services/articles/best-practice-to-send-an-oracle-execution-plan.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "the-consequences-of-nologging-in-oracle",
      "title": "The consequences of NOLOGGING in Oracle",
      "published_at": "2014-03-23T15:04:39",
      "canonical_url": "https://www.dbi-services.com/blog/the-consequences-of-nologging-in-oracle/",
      "archive_path": "dbi-services/articles/the-consequences-of-nologging-in-oracle.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "investigating-oracle-lock-issues-with-event-10704",
      "title": "Investigating Oracle lock issues with event 10704",
      "published_at": "2014-03-14T06:44:00",
      "canonical_url": "https://www.dbi-services.com/blog/investigating-oracle-lock-issues-with-event-10704/",
      "archive_path": "dbi-services/articles/investigating-oracle-lock-issues-with-event-10704.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-12c-in-memory-option-waiting-for-12102",
      "title": "Oracle 12c In-Memory option: waiting for 12.1.0.2",
      "published_at": "2014-03-04T07:31:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-12c-in-memory-option-waiting-for-12102/",
      "archive_path": "dbi-services/articles/oracle-12c-in-memory-option-waiting-for-12102.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-partitioned-sequences-a-future-new-feature-in-12c",
      "title": "Oracle Partitioned Sequences – a future new feature in 12c?",
      "published_at": "2014-02-20T23:46:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-partitioned-sequences-a-future-new-feature-in-12c/",
      "archive_path": "dbi-services/articles/oracle-partitioned-sequences-a-future-new-feature-in-12c.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-et-dbvisit-replicate-pour-migrer-sans-arret-de-service-et-sans-stress",
      "title": "Oracle et Dbvisit Replicate pour migrer sans arrêt de service… et sans stress",
      "published_at": "2014-02-13T07:35:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-et-dbvisit-replicate-pour-migrer-sans-arret-de-service-et-sans-stress/",
      "archive_path": "dbi-services/articles/oracle-et-dbvisit-replicate-pour-migrer-sans-arret-de-service-et-sans-stress.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "oracle-is-hanging-dont-forget-hanganalyze-and-systemstate",
      "title": "Oracle is hanging? Don’t forget hanganalyze and systemstate!",
      "published_at": "2014-02-07T00:16:00",
      "canonical_url": "https://www.dbi-services.com/blog/oracle-is-hanging-dont-forget-hanganalyze-and-systemstate/",
      "archive_path": "dbi-services/articles/oracle-is-hanging-dont-forget-hanganalyze-and-systemstate.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "archivelog-deletion-policy-for-standby-database-in-oracle-data-guard",
      "title": "Archivelog deletion policy for Standby Database in Oracle Data Guard",
      "published_at": "2014-01-27T22:56:00",
      "canonical_url": "https://www.dbi-services.com/blog/archivelog-deletion-policy-for-standby-database-in-oracle-data-guard/",
      "archive_path": "dbi-services/articles/archivelog-deletion-policy-for-standby-database-in-oracle-data-guard.json",
      "tags": []
    },
    {
      "source": "dbi-services",
      "source_id": "sockets-cores-virtual-cpu-logical-cpu-hyper-threading-what-is-a-cpu-nowadays-1",
      "title": "Sockets, Cores, Virtual CPU, Logical CPU, Hyper-Threading: What is a CPU nowadays?",
      "published_at": "2014-01-13T18:42:00",
      "canonical_url": "https://www.dbi-services.com/blog/sockets-cores-virtual-cpu-logical-cpu-hyper-threading-what-is-a-cpu-nowadays-1/",
      "archive_path": "dbi-services/articles/sockets-cores-virtual-cpu-logical-cpu-hyper-threading-what-is-a-cpu-nowadays-1.json",
      "tags": []
    }
  ]
}
