A proxy server for OceanBase Database.

Related tags

Database obproxy
Overview

OceanBase Database Proxy

TODO: some badges here

OceanBase Database Proxy (ODP for short) is a dedicated proxy server for OceanBase Database. OceanBase Database stores its user data in multiple copies on different OBServers. ODP receives the SQL requests from the users, transfers the SQL requests to the target OBServer, then returns the execution results to the users.

Quick start

Refer to the Get Started guide [link TODO] to try out ODP.

Documentation

  • English [link TODO]
  • Simplified Chinese (简体中文) [link TODO]

Licencing

ODP is under MulanPubL - 2.0 licence. You can freely copy and use the source code. When you modify or distribute the source code, please obey the MulanPubL - 1.0 licence.

Contributing

Contributions are warmly welcomed and greatly appreciated. Here are a few ways you can contribute:

  • Raise us an issue [link TODO].
  • Submit Pull Requests. For details, see How to contribute.

Support

In case you have any problems when using OceanBase Database, welcome reach out for help:

  • GitHub Issue [link TODO]
  • Official forum [link TODO]
  • Knowledge base [link TODO]
Comments
  • obproxy failed to cast to target type when using varchar field in hash partition

    obproxy failed to cast to target type when using varchar field in hash partition

    obproxy版本3.2.3、3.2.3.5

    通过obproxy执行如下sql时,会出现截断报错,这可能影响proxy对partition的路由判断

    select concat(tenant_name,'__', replace(NAME,' ','_')) NAME,VALUE
    from oceanbase.gv$sysstat
    join oceanbase.gv$tenant on CON_ID=tenant_id
    where SVR_IP='xx.xx.xx.xx'
    and NAME not in ('gts wait elapse total time','clog last check log file collect time')
    union
    select replace(NAME,' ','_'),sum(VALUE) VALUE
    from oceanbase.gv$sysstat
    join oceanbase.gv$tenant on CON_ID=tenant_id
    where SVR_IP='xx.xx.xx.xx'
    and NAME not in ('gts wait elapse total time','clog last check log file collect time','partition migrate time')
    group by NAME
    

    报错内容 image

    opened by TyphoonTai 4
  • obproxy missing a rpm

    obproxy missing a rpm

    The "oceanbase-ce-sql-parser-3.1.0-1.el7.x86_64.rpm" packge is need by obproxy, however it's missed on the "https://mirrors.aliyun.com/oceanbase/development-kit/el/7/x86_64".

    cat obproxy.el7.x86_64.deps ... [deps] devdeps-openssl-static-1.0.1e-3.el7.x86_64.rpm devdeps-libcurl-static-7.29.0-3.el7.x86_64.rpm devdeps-mariadb-connector-c-3.1.12-3.el7.x86_64.rpm devdeps-prometheus-cpp-0.8.0-3.el7.x86_64.rpm devdeps-gtest-1.8.0-3.el7.x86_64.rpm devdeps-grpc-1.20.1-3.el7.x86_64.rpm

    [tools] obdevtools-gcc-5.2.0-3.el7.x86_64.rpm obdevtools-bintuils-2.30-3.el7.x86_64.rpm obdevtools-bison-2.4.1-3.el7.x86_64.rpm obdevtools-flex-2.5.35-3.el7.x86_64.rpm

    [release] oceanbase-ce-sql-parser-3.1.0-1.el7.x86_64.rpm <--

    opened by Rhadamanthus00 2
  • obproxy didn't bind to listen_port

    obproxy didn't bind to listen_port

    for example:

    bin/obproxy -o enable_strict_kernel_release=False,enable_cluster_checkout=False,syslog_level=DEBUG --listen_port 3306 --prometheus_listen_port 22884 --rs_list "192.168.1.243:3306;192.168.1.244:3306;192.168.1.245:3306"
    

    obproxy.log showed obproxy init succ with port 3306:

    [2021-06-21 17:38:05.419882] INFO  [PROXY] ob_proxy_config.cpp:46 [7932][Y0-0] [lt=3] [dc=0] | listen_port                          = 3306
    [2021-06-21 17:38:05.422586] INFO  [PROXY] ob_mysql_proxy_server_main.cpp:232 [7932][Y0-0] [lt=6] [dc=0] succ init mysql proxy port by config(proxy_port={10.90.71.13:0}, port=3306})
    

    but actually, it didn't bind to the listen_port, instead it used a random port(after reboot obproxy, the port will change)

    image

    This bug may caused by these commits:

    image

    commits before de1c5e3 is ok.

    opened by stutiredboy 2
  • [Bug]: Obproxy executes the prepare statement and reconnects due to disconnection

    [Bug]: Obproxy executes the prepare statement and reconnects due to disconnection

    Check Before Asking

    • [X] Please check the issue list and confirm this bug is encountered for the first time.
    • [X] Please try full text in English and attach precise description.

    Environment

    【Product name】obproxy
    【Product Version】v3.2.0
    [Problem description] After connecting to the cluster through obproxy, execute the prepare statement and report lose connection
    

    Fast Reproduce Steps

    select * from oceanbase.__all_virtual_sys_parameter_stat where name="_ob_enable_prepared_statement";

    ALTER system set _ob_enable_prepared_statement =true;

    MySQL [oceanbase]> select name, data_type, value, scope from oceanbase.__all_virtual_sys_parameter_stat where name='_ob_enable_prepared_statement';

    +-------------------------------+-----------+-------+---------+

    | name | data_type | value | scope |

    +-------------------------------+-----------+-------+---------+

    | _ob_enable_prepared_statement | NULL | True | CLUSTER |

    | _ob_enable_prepared_statement | NULL | True | CLUSTER |

    | _ob_enable_prepared_statement | NULL | True | CLUSTER |

    +-------------------------------+-----------+-------+---------+

    MySQL [oceanbase]> select version();

    +--------------------+

    | version() |

    +--------------------+

    | 3.1.2-OceanBase CE |

    +--------------------+

    1 row in set (0.00 sec)

    Executing prepare through proxy still fails:

    MySQL [test]> prepare stmt1 from 'INSERT INTO test.tb1 (id , name ) values ( ? , ? )';

    Query OK, 0 rows affected (0.00 sec)

    MySQL [test]> prepare stmt1 from 'INSERT INTO test.tb1 (id , name ) values ( ? , ? )';

    ERROR 2013 (HY000): Lost connection to MySQL server during query

    MySQL [test]> prepare stmt1 from 'INSERT INTO test.tb1 (id , name ) values ( ? , ? )';

    ERROR 2006 (HY000): MySQL server has gone away

    No connection. Trying to reconnect...

    Connection id: 655372

    Current database: test

    Query OK, 0 rows affected (0.01 sec)

    Direct connection to the observer to execute prepare will not cause a broken link:

    MySQL [test]> prepare stmt1 from 'INSERT INTO test.tb1 (id , name ) values ( ? , ? )';

    Query OK, 0 rows affected (0.01 sec)

    MySQL [test]> prepare stmt1 from 'INSERT INTO test.tb1 (id , name ) values ( ? , ? )';

    Query OK, 0 rows affected (0.00 sec)

    MySQL [test]> prepare stmt1 from 'INSERT INTO test.tb1 (id , name ) values ( ? , ? )';

    Query OK, 0 rows affected (0.00 sec)

    Actual Behavior

    The obproxy_error log content is as follows:

    [time],undefined,,,,[clustername]:sys:test,OB_MYSQL,tb1,tb1,OB_MYSQL_COM_QUERY,TEXT_PS_PREPARE,failed,-4016,prepare stmt1 from 'INSERT INTO test.tb1 (id %2C name ) values ( ? %2C ? )',118us,0us,0us,0us,Y0-7F7D0BE0D3A0,,,,0,,Ooooooooooooops

    Expected Behavior

    No response

    Other Information

    No response

    bug 
    opened by zrcx123 1
  • add some features、fix bugs、fix coverity problems

    add some features、fix bugs、fix coverity problems

    1. 【Feature】support encryption zone and replica
    2. 【Feature】support pieceInfo
    3. 【Feature】support client_ip cross obproxy to observer
    4. 【Feature】optimize timeout of anonymous block
    5. 【Feature】support temporary_table route variable
    6. 【Feature】Compatible with connector/j bugs
    7. 【Bugfix】fix sharding connect failed when enable_proxy_scramble=true
    8. 【Bugfix】Fix the problem that ODP
    9. 【Bugfix】Fix the problem of PS Cursor Hang when not compressed
    10. 【Bugfix】fix coverity bug
    opened by wgs13579 1
  • [Feat.]: obproxy support connecting to MySQL

    [Feat.]: obproxy support connecting to MySQL

    Check Before Asking

    • [X] Please check the issue list and confirm this feature is encountered for the first time.
    • [X] Please try full text in English and attach precise description.

    Description

    OBProxy can connect to both to MySQL and to OceanBase. 
    
    So user can easily to switch from OceanBase to MySQL, or switch from MySQL to OceanBase. 
    
    This is useful to help user migrate from MySQL to OceanBase.
    

    Other Information

    No response

    enhancement 
    opened by longdafeng 0
  • WIP:drop useless code of bt

    WIP:drop useless code of bt

    What changes were proposed in this pull request?

    Why are the changes needed?

    fix issue #34

    Will break the compatibility? How if so?

    Does this PR introduce any user-facing change?

    How was this patch tested?

    Checklist

    • [ ] I've run the tests to see all new and existing tests pass.
    • [ ] If this Pull Request resolves an issue, I linked to the issue in the text above.
    • [ ] I've informed the technical writer about the documentation change if necessary.
    opened by xiaoleizi2016 0
  • [Bug]: drop useless code of bt

    [Bug]: drop useless code of bt

    Check Before Asking

    • [X] Please check the issue list and confirm this bug is encountered for the first time.
    • [X] Please try full text in English and attach precise description.

    Environment

    No response

    Fast Reproduce Steps

    in the method "int ObDbConfigProcessor::handle_bt_sdk() "

    int ret = OB_SUCCESS; ret = OB_ERR_UNEXPECTED; LOG_ERROR("not support beyond trust password", K(ret)); return ret;

    Actual Behavior

    "ret = OB_SUCCESS" is useless

    Expected Behavior

    No response

    Other Information

    No response

    bug 
    opened by xiaoleizi2016 0
  • 不同客户端连接 ob server 显示版本有差异

    不同客户端连接 ob server 显示版本有差异

    【产品名称】

    3.1.3-OceanBase CE

    【产品版本】

    [admin@localhost ~]$ obclient --version

    obclient Ver 15.1 Distrib 10.4.18-MariaDB, for Linux (x86_64) using readline 5.1

    OceanBase 3.1.3 【问题描述】

    [admin@localhost ~]$ obclient -h127.0.0.1 -uroot@my_tenant -P2881 -p'root123' -c -A test
    
    Welcome to the OceanBase. Commands end with ; or \g.
    
    Your MySQL connection id is 3221490143
    
    Server version: 5.7.25 OceanBase 3.1.3 (r10100032022041510-a09d3134c10665f03fd56d7f8bdd413b2b771977) (Built Apr 15 2022 02:16:22)
    
    
    
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    
    
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    
    
    
    MySQL [test]> \q
    
    Bye
    
    [admin@localhost ~]$ obclient -h127.0.0.1 -uroot@my_tenant -P2883 -p'root123' -c -A test
    
    Welcome to the OceanBase. Commands end with ; or \g.
    
    Your MySQL connection id is 25
    
    Server version: 5.6.25 OceanBase 3.1.3 (r10100032022041510-a09d3134c10665f03fd56d7f8bdd413b2b771977) (Built Apr 15 2022 02:16:22)
    
    
    
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    
    
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    
    
    
    使用obclient和mysql连接不同端口,而显示的server version不同,是什么原因导致?
    
    连接2881端口显示Server version: 5.7.25 OceanBase 3.1.3 (r10100032022041510-a09d3134c10665f03fd56d7f8bdd413b2b771977) (Built Apr 15 2022 02:16:22)
    
    MySQL [information_schema]> select version();
    
    +--------------------+
    
    | version()     |
    
    +--------------------+
    
    | 3.1.3-OceanBase CE |
    
    +--------------------+
    
    1 row in set (0.001 sec)
    
    
    
    
    MySQL [information_schema]> show variables like '%version%';
    
    +-------------------------+------------------------------------------------------------------------------------------------------------+
    
    | Variable_name      | Value                                                   |
    
    +-------------------------+------------------------------------------------------------------------------------------------------------+
    
    | ob_last_schema_version | 0                                                     |
    
    | protocol_version    | 10                                                     |
    
    | tls_version       |                                                      |
    
    | version         | 3.1.3-OceanBase CE                                             |
    
    | version_comment     | OceanBase 3.1.3 (r10100032022041510-a09d3134c10665f03fd56d7f8bdd413b2b771977) (Built Apr 15 2022 02:16:22) |
    
    | version_compile_machine |                                                      |
    
    | version_compile_os   |                                                      |
    
    +-------------------------+------------------------------------------------------------------------------------------------------------+
    
    连接2883端口显示Server version: 5.6.25 OceanBase 3.1.3 (r10100032022041510-a09d3134c10665f03fd56d7f8bdd413b2b771977) (Built Apr 15 2022 02:16:22)
    
    MySQL [test]> select version();
    
    +--------------------+
    
    | version()     |
    
    +--------------------+
    
    | 3.1.3-OceanBase CE |
    
    +--------------------+
    
    1 row in set (0.003 sec)
    
    
    
    
    MySQL [test]> show variables like '%version%';
    
    +-------------------------+------------------------------------------------------------------------------------------------------------+
    
    | Variable_name      | Value                                                   |
    
    +-------------------------+------------------------------------------------------------------------------------------------------------+
    
    | ob_last_schema_version | 0                                                     |
    
    | protocol_version    | 10                                                     |
    
    | tls_version       |                                                      |
    
    | version         | 3.1.3-OceanBase CE                                             |
    
    | version_comment     | OceanBase 3.1.3 (r10100032022041510-a09d3134c10665f03fd56d7f8bdd413b2b771977) (Built Apr 15 2022 02:16:22) |
    
    | version_compile_machine |                                                      |
    
    | version_compile_os   |                                                      |
    
    +-------------------------+------------------------------------------------------------------------------------------------------------+
    
    7 rows in set (0.005 sec)
    
    opened by d2022d 0
Releases(v4.0.0)
  • v4.0.0(Nov 1, 2022)

    About this version

    | Item | Description | | --- | --- | | Release time | 2021-11-01 | | Release number | V4.0.0 | | Commit number | 9d5c90e562c61d9fcf8894993187aa20239db47e |

    New features

    • Support session information synchronization mechanism
    • Support public cloud shared proxy CPU resource tenant isolation
    • Support random routing
    • Support specifying ip routing
    • Support to configure tenant isolation
    • Support OB_MYSQL_COM_STMT_RESET
    • Support Primary Zone routing
    • Fast fail-fast for request probes is supported. POC use only
    • Support text PS
    • Support OB_MYSQL_COM_RESET_CONNECTION
    • Support connection string ClusterId custom separator
    • Support non-Alibaba cloud environment, use remote ip as virtual ip
    • 【OB Sharding】Support SHOW INDEX FROM statement
    • 【OB Sharding】Support truncate syntax
    • 【OB Sharding】Support SHOW FULL TABLES statement
    • 【OB Sharding】SHOW KEYS FROM statement
    • 【OB Sharding】Support SHOW FULL COLUMNS statement
    • 【OB Sharding】When the scan_all switch is false, union and union all are supported;
    • 【OB Sharding】When the scan_all switch is true, union all is supported
    • 【OB Sharding】show table, show index, etc. support like syntax
    • 【OB Sharding】Limited support for subqueries
    • 【OB Sharding】Support to adjust the memory limit according to the container memory size
    • Turn off the default parameter for fast-fail request probes. Off by default
    • Adjust the whitelist policy, no longer use the client_ip sent by the client, and directly use the tcp peer IP

    Improvements

    • Add max_used_connections to reduce log printing when client connection is disconnected
    • locality changes support all_dummy refresh
    • Intercept configuration table multi-row insertion
    • Compatible with MySQL 8.0, HandleShake Capability adds multi related value
    • Optimize partially duplicated logs
    • Whitelist optimization, telnet detection directly disconnects

    Bug fixes

    • Fix the memory problem caused by accessing internal tables and abnormally obtaining partition information
    • Fixed OB_MYSQL_COM_STMT_EXECUTE protocol, ref_cursor reported error fetch out of sequence under function
    • Fix the issue that the enable_client_ip_checkout parameter does not take effect when there is a connect attr parameter
    • Fix the Sharding scenario, the select table name of the sub-database and sub-table is case-sensitive, resulting in an error report
    • Fix the Sharding scenario, the select of sub-database and sub-table will be intercepted and unsupported syntax problem
    • Fixed an issue where a single SQL was sent multiple times, causing the SQL to take more than 40ms
    • Fix performance issues introduced by random partitions
    • Fix the problem of disconnection of changUser command under normal protocol
    • Fixed the problem that file systems such as xfs cannot accurately determine whether it is a directory using the readdir system call
    • Fix the problem that rslist startup fails more than 3 times and does not fall back to the original rslist
    • Fixed inaccurate sql routing caused by text PS escape symbols
    • Fix name super long text PS, prepare stage odp core
    • Fix text PS case insensitivity
    • Fix the error Unknown prepared statement handle when executing the text PS large request
    • Fix text PS date type route as partition key, text ps parameter routing is not allowed
    • Fix text PS trigger pl routing is not allowed
    • Fix text PS name contains illegal characters, execute error 1243
    • Fix the problem that user, value, etc. are used as keywords in lexical analysis
    • Fixed the problem that SSL cannot be used for the link between Client and Proxy
    • 【OB Sharding】Fixed that the hint with partition key cannot calculate the partition key when inserting
    • 【OB Sharding】Fixed that if the partition key is after the 64th column in the insert statement, it will report that it cannot be calculated
    • 【OB Sharding】Fix the problem of disconnection of sequence query
    • 【OB Sharding】Fix the core caused by not supporting sum(case when) in the function
    • When hot restart, if the old connection receives the OB_MYSQL_COM_PING command, the old Proxy will actively disconnect the connection
    • 【OBSharding】 Fix the syntax parsing problem of delete and update  

    版本信息

    | 名称 | 描述 | | --- | --- | | 发布时间 | 2022 年 11 月 01 日 | | 版本号 | v4.0.0 | | 提交号 | 9d5c90e562c61d9fcf8894993187aa20239db47e |

    功能

    • 支持 session 信息同步机制
    • 支持公有云共享代理 CPU 资源租户隔离
    • 支持 随机路由
    • 支持 指定 ip 路由
    • 支持 配置租户隔离
    • 支持 OB_MYSQL_COM_STMT_RESET
    • 支持 Primary Zone 路由
    • 支持 请求探测快速失败。仅限 POC 使用
    • 支持 文本 PS
    • 支持 OB_MYSQL_COM_RESET_CONNECTION
    • 支持 连接串 ClusterId 自定义分隔符
    • 支持非阿里云环境,使用 remote ip 作为 virtual ip
    • 【OB Sharding】支持 SHOW INDEX FROM 语句
    • 【OB Sharding】支持 truncate 语法
    • 【OB Sharding】支持 SHOW FULL TABLES 语句
    • 【OB Sharding】SHOW KEYS FROM 语句
    • 【OB Sharding】支持 SHOW FULL COLUMNS 语句
    • 【OB Sharding】scan_all开关是 false 的时候,支持 union、union all;
    • 【OB Sharding】scan_all开关是 true 的时候,支持 union all
    • 【OB Sharding】show table 、show lndex 等支持like 语法
    • 【OB Sharding】有限支持子查询
    • 【OB Sharding】支持根据容器内存大小调整内存上限
    • 关闭 请求探测快速失败 的默认参数。默认关闭
    • 调整白名单策略,不再使用客户端传过来的client_ip,直接使用tcp对端IP

    优化

    • 客户端连接断开时,添加 max_used_connections 减少的日志打印
    • locality变更支持all_dummy刷新
    • 拦截配置表多行插入
    • MySQL 8.0 兼容,HandleShake Capability 新增 multi 相关值
    • 优化部分重复日志
    • 白名单优化,telnet 探测直接断连接

    BUG修复

    • 修复访问内部表,异常获取分区信息导致的内存问题
    • 修复 OB_MYSQL_COM_STMT_EXECUTE 协议,ref_cursor 在function下报错fetch out of sequence 的问题
    • 修复 enable_client_ip_checkout 参数在有 connect attr 参数时不生效的问题
    • 修复 Sharding 场景,分库分表的 select 表名区分大小写,导致的报错问题
    • 修复 Sharding 场景,分库分表的 select 会被拦截不支持的语法问题
    • 修复 单条SQL 多次发送,导致的 SQL 耗时超过 40ms 问题
    • 修复随机分区引入的性能问题
    • 修复 changUser 命令在普通协议下断连接问题
    • 修复 xfs 等文件系统使用 readdir 系统调用无法准确判断是否为目录的问题
    • 修复 rslist 方式启动,失败超过3次,没有回退到原始 rslist 的问题
    • 修复文本 PS 转义符号引起的sql路由不准
    • 修复名字超长文本 PS ,prepare阶段odp core
    • 修复文本 PS 大小写不敏感
    • 修复文本 PS large request 中执行报错Unknown prepared statement handle
    • 修复文本 PS date 类型路由作为分区键,文本ps传参路由不准
    • 修复文本 PS 触发pl路由不准
    • 修复文本 PS 名字中含有非法字符,execute报错1243
    • 修复词法解析中把user、value等作为关键字的问题
    • 修复 Client 与 Proxy 链路无法使用 SSL 问题
    • 【OB Sharding】修复带分区键的 hint 在 insert 的时候, 无法计算分区键
    • 【OB Sharding】修复 insert 语句如果分区键在第 64 个列之后,会报无法计算
    • 【OB Sharding】修复 sequence查询断连的问题
    • 【OB Sharding】修复函数中不支持sum(case when)导致的core
    • 修复 热重启时,如果老连接接收到 OB_MYSQL_COM_PING 命令,老 Proxy 会主动断开连接的问题
    • 【OB Sharding】修复 delete 和 update 的语法解析问题
    Source code(tar.gz)
    Source code(zip)
    obproxy-ce-4.0.0-5.el7.aarch64.rpm(8.86 MB)
    obproxy-ce-4.0.0-5.el7.x86_64.rpm(10.10 MB)
    obproxy-ce-4.0.0-5.el8.aarch64.rpm(8.89 MB)
    obproxy-ce-4.0.0-5.el8.x86_64.rpm(10.15 MB)
  • v3.2.3.5(Sep 5, 2022)

    About this version

    | Item | Description | | --- | --- | | Release time | 2021-9-05 | | Release number | V3.2.3.5 | | Commit number | 6dc6c664664e0de4775645efcdae8a8edbf87afd |

    New features

    • Added the parameter location_expire_period_time to set the active expiration time of the location cache. The value range is [0s, 30d], the default is 0

    Improvements

    • show proxyroute supports printing location cache expiration time
    • Distinguish between business requests and internal, full-time requests, and business request parameter control
    • When the business request is enabled_cached_server = true, the Partition is not random

    Bug fixes

    • Fix core issue when obproxy::omt::ObResourceUnitTableProcessor::inc_conn
    • Fix the problem that the route cannot be routed when establishing a connection with a cluster id
    • Fix the timestamp accuracy modification caused the old version ofthe observer to be inaccurate routing
    • Fix the Sharding scenario, the select table name of the sub-database and sub-table is case-sensitive, resulting in an error report
    • Fix the Sharding scenario, the select of sub-database and sub-table will be intercepted and unsupported syntax problem
    • Fixed an issue where a single SQL was sent multiple times, causing the SQL to take more than 40ms
    • Fix the rslist method, specify 127.0.0.1 to start obproxy, in the server failure scenario, more than 3 times, the connection fails to be established
    • Fixed the issue that if the cluster scheduled task fails more than 10 times, the blacklist will be invalid
    • Fixed the problem that OBProxy still thinks the connection is successful when the server hangs up
    • Fixed the problem that the cluster scheduled task failed more than times, causing it to remain in the blacklist
    • Fix the problem that COM_CHANGE_USER will be disconnected
    Source code(tar.gz)
    Source code(zip)
    obproxy-ce-3.2.3.5-2.el7.aarch64.rpm(8.27 MB)
    obproxy-ce-3.2.3.5-2.el7.x86_64.rpm(9.44 MB)
    obproxy-ce-3.2.3.5-2.el8.aarch64.rpm(8.31 MB)
    obproxy-ce-3.2.3.5-2.el8.x86_64.rpm(9.50 MB)
  • v3.2.3(Apr 1, 2022)

    RELEASE NOTE

    | Item | Description | | -------- | ------------------ | | Release date | 2022-3-30 | | Release number | V3.2.3 | | Commit number | 7db4636d43501d96e52a7cc1398b8e21bf2ec1b4 |

    About this version

    Feature:

    1. Support public cloud shared proxy connection number resource isolation
    2. Support public cloud shared proxy tenant level whitelist
    3. Support shared proxy cluster configuration push
    4. Support hot restart
    5. Supports partition routing for Timestmp data types
    6. Support client-side Execute optimization, allow without Param Type
    7. Proxyd.sh supports port modification, rslist startup, and configurl startup
    8. PS memory optimization
    9. 16C model performance optimization
    10. When accessing the cluster for the first time, after OBProxy obtains the RSList from the ConfigServer, the All Server List is obtained asynchronously and adjusted to obtain it synchronously
    11. Log compression can be turned on with enable_syslog_file_compress=True
    12. Full username strict mode can be enabled by enable_full_username=True
    13. You can increase the SQL length of obproxy_digest.log by setting the digest_sql_length parameter
    14. Added support for partition routing for timestamp type and negative numbers
    15. Added support for DDL statements in sharding scenarios
    16. Added tenant-level SSL link encryption
    17. Supports splicing URLs by zone
    18. OB Sharding supports Join

    Bugfix:

    1. Fix the problem that the new password under the newly deployed cluster etc is inconsistent with the old password
    2. Fix ODP unable to handle configurations larger than 4K, currently there is no limit to configuration size
    3. Fix the cluster without LDG. After the enable_ldg switch is turned on, the proxy stops updating the location cache, resulting in no sense of offline machines.
    4. Fix Under the 2.0 protocol, the data returned to the driver by the ps and fetch protocols is incorrect, resulting in the client hang problem
    5. Fix mutli swichover obproxy core at databuff_print_key_obj<oceanbase::common::ObLogPrintPointerCntx
    6. Fix obproxy memory leak caused by frequent push of current limiting rules
    7. Fix inaccurate routing in col = ("123") mode
    8. Fix too many current-limiting rules causing the push to fail to take effect
    9. Fix obproxy memory leak caused by frequent push of current limiting rules
    10. Fix After repairing the failover of the standby database into the main database, after the original main database is down, the proxy will have a short time to route the request to the original main database
    11. Fix Failed to establish connection without specifying cluster id within 3 minutes after lossless FO
    12. Fix After repairing the deletion of the standby database, continue to send requests to the old clusterId
    13. Fix the problem that the new protocol link proxy cursor scene, when the fench reaches the second value, it will be rammed
    14. Fix the problem of ps cursor ramming under non-compression protocol
    15. Fix a new connection reporting too many connections error
    16. Fix the case-insensitive name field of the ssl_config configuration table, resulting in unreasonable configuration reading logic
    17. Fix Compression and 2.0 protocol, obdump import data will be hung
    18. Fix the new protocol, refcursor cannot get the value when there are other out parameters
    19. Fix obproxy core at oceanbase::common::ObObjCmpFuncs::compare null safe
    20. Fix obproxy core at oceanbase::common::ObTimeConverter::str_to_digit_with_date
    21. Fix the error -5560, Unknown prepared statement handle when bmsql opens ps when the compression protocol is enabled
    Source code(tar.gz)
    Source code(zip)
    obproxy-ce-3.2.3-2.el7.aarch64.rpm(8.27 MB)
    obproxy-ce-3.2.3-2.el7.x86_64.rpm(9.45 MB)
    obproxy-ce-3.2.3-2.el8.aarch64.rpm(8.31 MB)
    obproxy-ce-3.2.3-2.el8.x86_64.rpm(9.50 MB)
Owner
OceanBase
The Leading Scalable HTAP Database.
OceanBase
OceanBase is an enterprise distributed relational database with high availability, high performance, horizontal scalability, and compatibility with SQL standards.

What is OceanBase database OceanBase Database is a native distributed relational database. It is developed entirely by Alibaba and Ant Group. OceanBas

OceanBase 5.1k Jan 4, 2023
MySQL Server, the world's most popular open source database, and MySQL Cluster, a real-time, open source transactional database.

Copyright (c) 2000, 2021, Oracle and/or its affiliates. This is a release of MySQL, an SQL database server. License information can be found in the

MySQL 8.6k Dec 26, 2022
A mini database for learning database

A mini database for learning database

Chuckie Tan 4 Nov 14, 2022
Beryl-cli is a client for the BerylDB database server

Beryl-cli is a client for the BerylDB database server. It offers multiple commands and is designed to be fast and user-friendly.

BerylDB 11 Oct 9, 2022
ESE is an embedded / ISAM-based database engine, that provides rudimentary table and indexed access.

Extensible-Storage-Engine A Non-SQL Database Engine The Extensible Storage Engine (ESE) is one of those rare codebases having proven to have a more th

Microsoft 792 Dec 22, 2022
Nebula Graph is a distributed, fast open-source graph database featuring horizontal scalability and high availability

Nebula Graph is an open-source graph database capable of hosting super large scale graphs with dozens of billions of vertices (nodes) and trillions of edges, with milliseconds of latency.

vesoft inc. 834 Dec 24, 2022
DuckDB is an in-process SQL OLAP Database Management System

DuckDB is an in-process SQL OLAP Database Management System

DuckDB 7.8k Jan 3, 2023
YugabyteDB is a high-performance, cloud-native distributed SQL database that aims to support all PostgreSQL features

YugabyteDB is a high-performance, cloud-native distributed SQL database that aims to support all PostgreSQL features. It is best to fit for cloud-native OLTP (i.e. real-time, business-critical) applications that need absolute data correctness and require at least one of the following: scalability, high tolerance to failures, or globally-distributed deployments.

yugabyte 7.4k Jan 7, 2023
TimescaleDB is an open-source database designed to make SQL scalable for time-series data.

An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.

Timescale 14.3k Jan 2, 2023
PolarDB for PostgreSQL (PolarDB for short) is an open source database system based on PostgreSQL.

PolarDB for PostgreSQL (PolarDB for short) is an open source database system based on PostgreSQL. It extends PostgreSQL to become a share-nothing distributed database, which supports global data consistency and ACID across database nodes, distributed SQL processing, and data redundancy and high availability through Paxos based replication. PolarDB is designed to add values and new features to PostgreSQL in dimensions of high performance, scalability, high availability, and elasticity. At the same time, PolarDB remains SQL compatibility to single-node PostgreSQL with best effort.

Alibaba 2.5k Dec 31, 2022
SOCI - The C++ Database Access Library

Originally, SOCI was developed by Maciej Sobczak at CERN as abstraction layer for Oracle, a Simple Oracle Call Interface. Later, several database backends have been developed for SOCI, thus the long name has lost its practicality. Currently, if you like, SOCI may stand for Simple Open (Database) Call Interface or something similar.

SOCI 1.2k Jan 9, 2023
StarRocks is a next-gen sub-second MPP database for full analysis senarios, including multi-dimensional analytics, real-time analytics and ad-hoc query, formerly known as DorisDB.

StarRocks is a next-gen sub-second MPP database for full analysis senarios, including multi-dimensional analytics, real-time analytics and ad-hoc query, formerly known as DorisDB.

StarRocks 3.7k Dec 30, 2022
BaikalDB, A Distributed HTAP Database.

BaikalDB supports sequential and randomised realtime read/write of structural data in petabytes-scale. BaikalDB is compatible with MySQL protocol and it supports MySQL style SQL dialect, by which users can migrate their data storage from MySQL to BaikalDB seamlessly.

Baidu 1k Dec 28, 2022
Velox is a new C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems.

Velox is a C++ database acceleration library which provides reusable, extensible, and high-performance data processing components

Facebook Incubator 2k Jan 8, 2023
Test any type of cloud database on Android apps. No need of a dedicated backend.

DB Kong - Database connections simplified DB Kong is an Android library that allows you to connect, interact and test any type of cloud database on An

Arjun 9 May 9, 2022
The fastest database-library on Android OS.

Android SQLite3 NDK 封装 Demo下载 (操作:按钮新增 按钮查询 点按编辑 长按删除) 写在前面 sqlite3 开源、集成简单(现在的版本只有2个文件 sqlite3.h sqlite3.c) 这个库抽离自 Telegram 的开源代码、作者:DrKLO 我个人感觉 Tele

水银灯、 2 Dec 27, 2021
LogMessage is one of the output format of database incremental data

LogMessage LogMessage是一种数据库增量数据的输出格式,oceanbase的增量采集模块liboblog正是使用的这种消息格式来输出增量数据,LogMessage支持oceanbase中不同数据类型的增量数据的写入,具有序列化和反序列化的能力。 如何编译 LogMessage的编译

OceanBase 7 Dec 14, 2022
GalaxyEngine is a MySQL branch originated from Alibaba Group, especially supports large-scale distributed database system.

GalaxyEngine is a MySQL branch originated from Alibaba Group, especially supports large-scale distributed database system.

null 281 Jan 4, 2023
MillenniumDB is a graph oriented database management system

Millennium DB MillenniumDB is a graph oriented database management system developed by the Millennium Institute for Foundational Research on Data (IMF

null 27 Nov 26, 2022