September 2020 Summaries
9 posts from Cockroach Labs
Filter
Month:
Year:
Post Summaries
Back to Blog
This blog post introduces upper/db, a data access layer written in Go with ORM-like features. It is now compatible with CockroachDB and has an adapter available for use. The author provides an example of how to connect to a local insecure node using the cockroachdb adapter. Transactions are also discussed, highlighting upper/db's client-side retry handling logic. A Hello World example demonstrates building a Go app with CockroachDB and upper/db.
Sep 29, 2020
354 words in the original blog post.
Cockroach Labs has introduced a new course on its Cockroach University platform called "CockroachDB for Python Developers." This free, hands-on course is designed to help application developers build scalable and resilient applications using CockroachDB. The course includes video lessons, exercises, and a final exam. Students will learn how to develop an application with CockroachDB by building a full-stack vehicle-sharing application called MovR in Python using the SQLAlchemy ORM. Upon completion of the course and passing the final exam, students will receive a Certification of Completion and can enter a contest to win a custom CockroachDB backpack. The company plans to introduce this course in Java, Go, and Node.js over the next few months.
Sep 29, 2020
655 words in the original blog post.
The traditional method of calculating database costs (software + hardware) is outdated. In the cloud era, there are more factors to consider such as scaling costs, integration with existing and future systems, and downtime costs. When pricing a cloud database, it's crucial to ask questions about hard costs (software license and hardware), operational costs (disaster recovery, scale, and integration), and soft costs (compliance, competitive risk, vendor lock-in, and talent attraction). These costs fall into three main categories: hard costs, operational costs, and soft costs.
Sep 23, 2020
1,348 words in the original blog post.
This blog discusses the implementation of a cloud-native Java persistence layer using CockroachDB and Hibernate. The authors, Robin de Silva Jayasinghe, Thomas Pötzsch, and Joachim Mathes, describe their experience in choosing CockroachDB as the underlying database for their new persistence layer due to its compatibility with PostgreSQL, cloud-native capabilities, scalability, and schema flexibility. They also share their decision-making process for selecting Hibernate as the ORM framework and detail the integration of CockroachDB into their developer setups and central installations. The authors conclude that using a modern solution like CockroachDB has provided them with confidence in facing upcoming challenges related to cloud-native applications.
Sep 18, 2020
3,152 words in the original blog post.
CockroachDB has officially released its dialect for Hibernate, a popular ORM tool. This development follows extensive work to improve compatibility with existing ORMs and support for five major ORMs including Hibernate. The new CockroachDB dialect offers first-class support for Hibernate, improving the developer experience by introducing CockroachDB-specific semantics. It also provides automatic handling for missing BLOB storage and Identity column support. This release is part of a larger effort to make CockroachDB scalable and robust while maintaining simplicity in use.
Sep 17, 2020
1,363 words in the original blog post.
Pebble is a RocksDB-inspired key-value store written in Go, designed to meet the needs of CockroachDB. It offers better performance and stability compared to RocksDB, avoids traversing the Cgo boundary, and provides more control over future enhancements tailored for CockroachDB's requirements. Pebble is set to replace RocksDB as the default storage engine in CockroachDB's upcoming 20.2 release. The motivation behind building Pebble includes addressing bugs in RocksDB, avoiding the challenges of traversing the Cgo boundary, and gaining more control over future enhancements tailored for CockroachDB's needs.
Sep 15, 2020
3,689 words in the original blog post.
The article discusses the implementation of a Software as a Service (SaaS) product, CockroachDB Dedicated, on Kubernetes. It highlights the benefits of using Kubernetes for automation and orchestration, bin packing capabilities, and providing a common interface across different cloud platforms. Additionally, it mentions other tools used alongside Kubernetes such as Prometheus and Grafana for monitoring, Vault for certificates management, and Pulumi for provisioning hardware. The article concludes by emphasizing the relevance of these lessons to anyone running or considering running their SaaS product on Kubernetes.
Sep 14, 2020
1,048 words in the original blog post.
DZone's 2020 Trend Report shows a shift away from the "SQL vs. NoSQL" debate, as more companies use a combination of both for their business needs. The report indicates that hybrid usage of SQL and NoSQL is becoming the norm, with nearly 60% of respondents saying their organizations use both to support big data efforts. Additionally, distributed SQL databases like CockroachDB are emerging, offering the benefits of both SQL and NoSQL without requiring difficult tradeoffs. However, not all technologies labeling themselves as distributed SQL actually meet the definition.
Sep 09, 2020
492 words in the original blog post.
Database consistency models and isolation levels are crucial concepts in ensuring the security, performance, and correctness of data transactions, yet they are often overlooked by developers. This article highlights a webinar discussion featuring Cockroach Labs' solutions engineers, Tim Veil and John Sheaffer, who admit that even experienced developers may neglect these aspects due to their complexity and the assumption that if a database is operational, isolation levels are irrelevant. The discussion emphasizes the importance of understanding ACID transactions—atomicity, consistency, isolation, and durability—and how they guarantee reliable data transactions despite potential errors. However, while atomicity, isolation, and durability are straightforward, consistency is more complex and involves various models that developers must understand. Isolation levels, such as serializability, read committed, read uncommitted, and repeatable reads, dictate how transactions interact and the anomalies that may arise, with implications for data integrity. Research has shown that weak isolation can lead to real-world bugs, underscoring the importance of choosing appropriate isolation levels for applications, as exemplified by CockroachDB's model that balances serializability and linearizability.
Sep 03, 2020
815 words in the original blog post.