Python开发基础

    这里介绍如何使用Python客户端驱动接口编写使用SequoiaDB数据库的程序。为了简单起见,下面的示例不全是完整的代码,只起示例性作用。可到SequoiadDB安装路径下samples/Python下获取相应的完整的代码。更多查看Python API

    • 数据库连接(Connecting)

      以下是connect.py演示如何连接到数据库。

      在Linux下,可以直接运行python解释执行connect.py。

      Note:

      本例程连接到本地数据库的服务端口11810,使用的是空的用户名和密码。用户需要根据自己的实际情况配置参数。譬如,将上述代码中的 修改为 db = client('192.168.10.188', 11810)。当数据库已经创建用户时,应该使用正确的用户及密码连接到数据库,否则连接失败。

    • 创建集合空间和集合

      1. # connect to db
      2. db = client("localhost", 11810)
      3. # create collection space
      4. cs_name = 'foo'
      5. cs = db.create_collection_space(cs_name)
      6. cl_name = 'bar'
      7. cl = cs.create_collection(cl_name)
    • 查询(query)

      查询操作需要一个游标对象存放查询的结果到本地。要获得查询的结果需要使用游标操作。本例使用了游标操作的next接口,表示从查询结果中取到一条记录。此示例中没有设置查询条件,筛选条件,排序情况,及仅使用默认索引。

    • 索引(index)

      1. index_name = "index_name"
      2. idx = OrderedDict([('name', 1), ('age', -1)])
      3. cl.create_index ( idx, index_name, False, False ) ;

      集合对象collection中创建一个以“name”为升序,“age”为降序的索引。

    • 更新(update)

      1. rule = {"$set":{ "age":19}}
      2. print rule
      3. cl.update( rule )

      在集合对象 ollection中更新了记录。实例中没有指定数据匹配规则,所以此示例将更新集合中所有的集合。

    • 调用 API 遇到的异常时,python 驱动会将异常直接抛出。可以选择捕获异常,并打印异常信息或是进行一些其他操作。SDBBaseError 异常是基础异常,异常主要包含errcode、detail 和 error_object。异常的详情可以查询 。示例如下:

    集群操作

    分区组操作包括创建分区组(client::creat_replica_group),得到分区组实例(client:: get_replica_group_by_name 和 client:: get_replica_group_by_id),启动分区组所有节点(replicagroup::start),停止分区组所有节点(replicagroup::stop)等。

    • 节点操作

      节点操作包括创建节点(replicagroup::create_node),获取主节点(replicagroup::get_master),获取备节点(replicagroup::get_slave),启动节点(replicanode::start),停止节点(replicanode::stop)等。

      以下为数据节点操作示例性的例子。真正的应用应包括错误检测等。

      1. # 获取数据组group
      2. rg = db.get_replica_group_by_name("group1")
      3. # 获取数据主节点
      4. master = rg.get_master() ;