orczhou

  • 长路漫漫 踏歌而行

    ·

    Canon EOS R5 RF24-70mm F2.8 ISO-100 ƒ5.6 1/200 By Pingping

  • 最近,Amazon RDS Custom开始支持了SQL Server。RDS Custom形态一方面提供托管数据库的安装、管理、弹性等能力,另一方面又提供类似自建数据库的OS访问与配置、驱动程序安装等能力。

    这种形态与阿里云数据库提供的MyBase有一些类似,那是不是同类产品呢?我们从一下几方面来看看Amazon RDS Custom。

    面向的场景:Amazon RDS Custom主要是面向一些比较封闭、传统的应用系统,需要对数据库控制、配置都有非常高要求的应用系统,让系统人员可以接触、控制RDS所运行的主机OS,从而完成这类“封闭、传统”的应用系统配置工作。所以,从这个逻辑出发,RDS Custom优先支持的是Oracle,现在又支持了SQL Server,而不是当下最流行的MySQL或者PostgreSQL。

    提供的能力:RDS Custom向用户提供了底层OS的访问权限,可以让用户一定程度上配置和管理数据库的运行环境。普通的RDS是一种全托管的数据库,用户不用关心数据库的安装配置,更不用关心底层的OS运行情况;如果基于EC2/ECS等构建数据库,则需要用户对OS、数据库做完整地管理与配置。可以这样理解,RDS Custom是一种介于这两种形态之间的一种中间形态,一方面RDS Custom提供了托管数据库地安装、管理、弹性等能力,另一方面又提供类似自建数据库地OS访问与配置、驱动程序安装等能力。下图,比较好的概括了相关能力,并给出了对比:

    一些常见的场景:

    • 在安装数据库时需要安装特定的数据库和OS补丁
    • 需要对数据库做一些特殊的配置
    • 应用系统和数据库需要通过文件的方式传输、共享数据

    RDS Custom的一些优势:

    • 安装、备份/恢复、监控/告警等,依旧可以全托管自动化完成
    • 可以在主机上运行自己的软件,例如某些第三方应用程序等
    • 可以按需的自己安装数据库补丁和OS补丁
    • 可以作为从本地环境迁移到全托管环境的一个过渡
    • 可以运行自己的系统脚本,例如监控、诊断、调度等

    与MyBase的异同:

    • 都提供了主机级别的权限,一方面向用户提供了更大自由度定制数据库和运行OS环境,另外也可以在主机上运行一些额外的软件(例如监控agent等)
    • MyBase比较重要的一点是,提供在主机级别超卖率的配置,可以让用户根据自己应用的实际情况去配置,这就可以在一些非性能关键的场景下,获得非常高的性价比。同时,MyBase也基本是全托管的(自动化安装、备份、监控等),使用起来依旧很建档,让客户更加专注于自己的业务系统。
    • 整体上,定位是不同的。RDS Custom核心是解决用户的部分传统应用部署时候对数据库有一些特殊要求的场景,所以,支持的数据库也是Oracle和SQL Server;而MyBase是提供给用户一个更加自主可控的环境,另外,MyBase是以主机为单位购买,也向用户提供更加高性价比的实例选择,基于此,希望通过这种产品形态,让用户放下一些“顾忌”,选择云数据库上云。

    所以,RDS Custom和MyBase这两个形态看起来有些像,但是出发点、形态、使用上差异也都非常大。不过有一点是一样的,都是在一些较为垂直的场景上,帮助用户更加便利、平滑的完成数据库上云。

    参考:

  • 这个示例可以结合着之前的连接MySQL一起来看:参考

    代码如下。当然,运行之前,你需要

    • 已经完成了基本的工具安装,这个并不容易(参考)
    • 已经有一个可以正常运行的与连接的SQL Server
    • 已经有一个网络上到SQL Server联通的主机的ssh账号
    • 下面的实例中,还需要一个t_1表,表中有三个字段

    import pyodbc
    import pandas as pd
    import logging
    import sshtunnel
    from sshtunnel import SSHTunnelForwarder
    
    ssh_host = 'x.x.x.x'
    ssh_port=22
    ssh_username = 'lilei'
    ssh_password = 'xxxxxx'
    
    
    db_server = 'x.x.x.x'
    db_port= 1433
    database = 'xxx'
    db_username = 'xxx'
    db_password = 'xx'
    
    
    tunnel = SSHTunnelForwarder(
        (ssh_host, ssh_port),
        ssh_username = ssh_username,
        ssh_password = ssh_password,
        remote_bind_address = (db_server, db_port),
    )
    tunnel.start()
    
    
    cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=127.0.0.1,'+str(tunnel.local_bind_port)+';DATABASE='+database+';UID='+db_username+';PWD='+ db_password)
    cursor = cnxn.cursor()
    
    cursor.execute("SELECT * FROM dbo.t_1;")
    row = cursor.fetchone()
    while row:
        print('ID: %(id)03s | nick: %(nick)012s | birthdate: %(bd)010s' %
          {'id':row[0],'nick':row[1],'bd':row[2]})
        row = cursor.fetchone()

  • 在前段时间微软Ignite前后,Azure的SQL Server托管服务(Azure SQL Managed Instance)发布一个基于”Always On”技术的新的“Link”特性。可以帮助用户在云端实例和其他环境实例建立一条同步链路,将其他环境的数据同步到Azure云端。该功能当前处于邀请测试阶段(limited public preview),支持SQL Server 2019(需要CU13),长期计划支持2016及其以后的版本。

    从感受上来说,国外三家云厂商,Azure应该是更新最快速的,可以说是最努力的那朵云,相比AWS虽然起步晚,但是跑得非常快。从这个功能来看,微软在尝试通过产品化的方式帮助用户将本地的数据,快速、低成本的迁移到Azure。

    这里简单介绍一下该功能。使用该功能,可以实现如下能力:

    • 将本地或者其他云上的SQL Server数据”近实时”地同步到Azure云的SQL Server
    • 可以实现本地环境SQL Server的读扩展,可以将部分可以接受延迟的读服务切换到Azure上
    • 可以利用Azure上的一些分析产品能力,包括Synapse、MI、PBI等
    • 可以通过多个Link通路,将多个实例数据同步一个Azure实例上用于聚合分析
    • 利用Azure在全球众多区域部署,使用Link同步通路,可以让业务快速具备就近访问的能力
    • 可以帮助用户更加无缝的实现,从其他环境迁移到Azure上,使用Link特性是一个很好地过渡
    • 如果需要建设SQL Server数据库的容灾能力,这也是一个非常简单快速的方式

    参考链接:

    • Managed Instance link – connecting SQL Server to Azure reimagined:链接
    • Link feature for Azure SQL Managed Instance (limited preview):链接
    • Distributed availability groups:链接
  • 云数据库行业动态@20211201

    ·

    行业头条

    • 2022 IEEE Fellow 新晋名单出炉,阿里云数据库李飞飞入选。

    非常了不起,简单来说,叫”李飞飞”大概都非常牛逼,无论男女。不过话说,这次还没有看到阿里云开始宣传,难道还憋了更大的招?

    • Aurora开始支持MySQL 8.0:参考。AWS上版本号为3.01.0版本,基于MySQL 8.0.23版本。
    • Neptune开始支持ARM架构的实例:参考
    • DocumentDB开始支持Graviton 2实例,性能号称提升30%:参考

    今天是AWS年度大会re:Invent第一天,最近一个月AWS都在密集的发个各种功能。MySQL 8.0于2018年4月正式GA,三年半之后,Aurora正式支持8.0版本,看到,Aurora对于内核改造/定制是非常大的,导致一个大版本发布后的改造量非常大,跟紧社区的成本很高,当然,这大概也和官方8.0版本的代码一直以来变化比较大有一些关系。

    另外,AWS一直在加大Graviton2(ARM-Based)实例的支持与宣传,随着,云原生架构的标准化,IaaS层性价比将是各个云厂商的”基本内功”,在Graviton2上的投入,就相当于AWS在提前的偷偷修炼内功了,这与苹果做M1是一样的道理。

    • 火山引擎成为字节跳动的独立BU,云计算战略呼之欲出:参考

    期望看到更加繁荣的云计算市场,不过云计算是一个技术、资金投入都非常大的方向,字节加油!

    (more…)
  • 云数据库行业动态@20211108

    ·

    行业头条

    • 开源产品公司ClickHouse, Inc再次融资2.5亿美元,估值达20亿美金。本轮融资距离公司成立时的5000万美元融资,仅仅只有两个月:参考
    • 数据集成厂商Informatica正式在纽交所上市公司估值85亿美元左右,2020年营收约13亿美金:参考
    • Yugabyte完成1.88亿美金融资,公司估值13亿美金:参考

    头条点评:数据领域最近非常“热”,Informatica再次在纽交所上市估值为85亿美金;而ClickHouse,Inc两个月内连续两次融资,估值就达到了20亿美金。开源软件的对立面已经不是商业软件,而是在与”已经很强大的”云厂商们争夺最后的客户价值

    • [AWS] Babelfish for Aurora PostgreSQL正式GA发布(参考
    • [Azure] SQL Server托管服务(Azure SQL Managed Instance)发布新的Link特性:参考

    头条点评:近期,AWS发布了开源Babelfish,帮助用户从SQL Server迁移到PostgreSQL;微软的Azure SQL托管数据库则发布了新特性”Link”,帮助用户把本地环境或者其他的云的SQL Server迁移到Azure。数据争夺战,是数字化竞争中的关键环节,各个云厂商都在重兵投入。云厂商都发现,水库已经有一定规模,但是引水的渠道好像还不太够

    重要更新

    • 阿里云重磅发布GanosBase,该引擎是李飞飞带领的达摩院数据库与存储实验室联合阿里云共同研发的新一代位置智能引擎,也是首个云孪生时空数据库:参考
    • 2021年数据技术嘉年华推迟一个月到12月23日:参考;袋鼠云/DDIC2021数智行业峰会峰会推迟:参考。(会议推迟大概会是未来比较长时间内的一个常态)
    • 腾讯云数据库”五年6次POC测试,最终拿到农行核心系统项目”:参考
    (more…)