Google在年末,更新其分散关系型数据库Spanner,加入检查条件约束(Check Constraints)、自动字段(Generated Columns)以及数值(NUMERIC)资料形态,3种SQL数据库好用的功能。
检查条件约束让用户可以指定资料表中一个或多个字段值,必须满足布尔表达式,用户可以在表上指定布尔表达式,并要求所有资料表中的每一列资料,都符合该表达式,Google举例,这个新功能可用于像是音乐会资料表中,指定音乐会结束时间,必需要晚于开始时间。
第2个新功能则是自动字段,自动字段的数值,会从同一列资料的其他字段计算而来,Google提到,这个功能可以将重要的资料逻辑,从应用程序层放到数据库中,自动字段可以使得查询更加简单,并节省在查询时间评估表达式的成本。如同其他字段类型,自动字段也可以被索引,或是配置外键。
第3个新功能,则是用户要求已久的NUMERIC资料类型,NUMERIC是高精度的数值资料类型,可用于金融、科学和工程等领域,在Spanner中,NUMERIC总共可以存储38个数字,其中9个数字可以是小数字,官方提到,当用户需要用到比NUMERIC还要高精度的数值,建议将数值以十进制表示,存储在字符串字段中。