第 6 章. 应用设计与实施
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
与所有数据库一样,CockroachDB 响应应用程序代码的请求。 应用程序如何请求和使用数据对应用程序的性能和可扩展性有很大影响。 在本章中,我们将回顾应用程序应如何与 CockroachDB 配合使用,包括 CockroachDB 请求和事务模型的最佳编码实践。
由于 CockroachDB 与 PostgreSQL 线协议兼容,因此任何支持 PostgresSQL 的语言都可以与 CockroachDB 配合使用。 一般来说,PostgreSQL 的编程习惯和最佳实践也适用于 CockroachDB。 不过,由于 CockroachDB 的分布式特性,CockroachDB 和 PostgreSQL 的编程风格存在一些差异。
尽管你可以使用几乎所有常用的编程语言来使用 CockroachDB,但在本章中,我们将只讨论四种语言: Go、Java、Python 和 JavaScript。
之前,我们介绍了如何为每种语言安装语言驱动。 有关驱动安装的说明,请参阅第 3 章,或者参阅CockroachDB 文档,以获取更详细的指南,包括如何安装其他语言的驱动或替代驱动。
CockroachDB 编程
CockroachDB 与 SQL 关系数据库广泛兼容,尤其与 PostgreSQL 兼容。 不过,由于 CockroachDB 的分布式特性和事务一致性模型,它有一些独特的编程习惯用法。
在下面的章节中,我们将回顾针对 CockroachDB 服务器编写应用程序的一般原则,并探讨 CockroachDB 特有的一些问题。
执行 CRUD 操作
在第 3 章中,我们为每种语言都提供了基本的 "Hello world "示例。让我们扩展这些示例,执行一些非简单的 "CRUD "操作--创建、读取、更新和删除。
编程驱动程序在词汇方面各有不同,但一般都采用类似的语法。 数据库程序的基本操作包括
-
驱动程序会建立一个连接对象,代表与数据库服务器的连接。在本章中,我们将创建单个连接,但应用程序通常会使用连接池来管理多个可重复使用的连接。
-
连接对象用于执行 SQL 语句。
-
有些语句返回的结果集可用于,以遍历
SELECT语句、包含RETURNING子句的 DML 语句和其他一些返回结果的语句返回的表格输出。
在这里,我们看到了 Java 中的这种基本模式:
packagechapter06c;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;publicclassexample1{publicstaticvoidmain(String[]args){try{Class.forName("org.postgresql.Driver");StringconnectionURL="jdbc:"+args[0];StringuserName=args[1];StringpassWord=args[2];Connectionconnection=DriverManager.getConnection(connectionURL,userName,passWord);
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access