创新实用!新建ON数据库,解放数据处理之烦恼 (新建一个json数据库)

随着数码技术的发展,数据已经成为企业运营和决策制定的重要基础。然而,数据处理的烦恼也日益增加,尤其是大数据时代下,数据量的庞大和多样性使得数据处理更加困难。为此,一种新型的数据库——ON数据库应运而生,它具有创新和实用的特点,成功解放了数据处理的烦恼。

一、ON数据库的基本概念

ON数据库也称为面向文档的数据库,其是一种轻量级的、基于文档的数据库。与传统的关系型数据库相比,ON数据库更强调文档之间的关系,数据被存储为自包含的ON格式的文档。它以柔性的文档结构存储数据,并具有强大的文档导航和查询能力,在存储结构和数据表现方面相对更灵活自由。此外,相比较关系型数据库,ON数据库存储的数据格式更加简洁明了,也更易于进行处理和查询。

二、ON数据库的优点

1. 简单易用:与关系型数据库相比,ON数据库无需进行表定义、规范化和关系建立,其文档可以自由地被增删改查,减少了开发和运维人员工作的复杂度和难度。

2. 自由度高:ON数据库的数据存储形式非常灵活,存储的文档可以包含任何类型的信息,因此可以在不同项目中使用相同的技术和工具,并且存储的信息可以根据业务需求进行扩展和收缩。

3. 查询性能高:对于大量的复杂查询,ON数据库相较于关系型数据库,更有优势,因为ON数据库可以进行多级嵌套的查询,并支持索引,提高数据查询的效率。

4. 团队协作便捷:ON数据库所支持的数据格式简单明了,在不同团队之间数据的共享变得更加方便快捷,同时也减少了成本。

三、应用场景

在互联网数据处理、Web采集和云计算等领域,ON数据库越来越受到欢迎。例如在电商领域,商家交易数据和客户行为数据可以被存储在ON数据库中,从而方便对数据进行分析和汇总。在大型的社交软件中,用户个人资料和状态更新数据也可以存储在ON数据库中,使得应用之间可以分享相同的API接口。在数据仓库及数据分析领域,ON数据库也可以很好地解决多个海量结构化数据的存储问题。在物联网领域,ON数据库以其高效灵活的存储方式,支持更为丰富的数据格式,所以可以广泛应用于物联设备的数据处理。

四、ON数据库的发展趋势

随着云计算技术的发展,各种类型和规模的数据正在涌向云端,以便充分利用云技术和分析方法来获取更全面的数据分析。ON数据库具有适应云计算的优势,更加高效、灵活和可扩展,因此它成为了未来的发展趋势。与此同时,在和大数据领域的迅速发展背景下,将会有更多的机会使ON数据库更加广泛地应用于实际生产中,并且更好地发挥其优势。

五、结语

ON数据库的兴起是对传统关系型数据库一种新的挑战,也是对数据存储和处理标准的革新。它减轻了传统数据库所带来的局限性,更加强调数据的灵活性、兼容性和易操作性。在大数据时代的前提下,ON数据库成为了应用于数据处理和管理困难的新型工具,在解决多样化和海量数据处理中有着重要的作用。

相关问题拓展阅读:

怎么在mysql中放入json数据

我们知道,ON是一种轻量级的数据交互的格式,大部分NO SQL数据库的存储都用ON。MySQL从5.7开始支持ON格式的数据存储,并且新增了很多ON相关函数。MySQL 8.0 又带来了一个新的把ON转换为TABLE的函数ON_TABLE,实现了ON到表的转换。

举例一

我们看下简单的例子:

简单定义一个两级ON 对象

mysql> set @ytt='{“name”:}’;Query OK, 0 rows affected (0.00 sec)

之一级:

mysql>谈肢 select json_keys(@ytt);+—+| json_keys(@ytt) |+—+| |+—+1 row in set (0.00 sec)

第二级:

mysql> select json_keys(@ytt,’$.name’);+-+| json_keys(@ytt,’$.name’) |+-+|    |+-+1 row in set (0.00 sec)

我们使用MySQL 8.0 的ON_TABLE 来转换 @ytt。

mysql> select * from json_table(@ytt,’$.name’ columns (f1 varchar(10) path ‘$.a’, f2 varchar(10) path ‘$.b’)) as tt;

+++

| f1    | f2     |

+++

| ytt   | action |

| dble  | shard  |

| mysql | oracle |

+++

3 rows in set (0.00 sec)

举例二

再来一个复杂点的例子,用的是EXPLAIN 的ON结果集。

ON 串 @json_str1。

set @json_str1 = ‘ {  “query_block”: {    “select_id”: 1,    “cost_info”: {      “query_cost”: “1.00”    },    “table”: {      “table_name”: “bigtable”,      “access_type”: “const”,      “possible_keys”: ,      “key”: “id”,      “used_key_parts”: ,      “绝森key_length”: “8”,      “ref”: ,      “rows_examined_per_scan”: 1,      “rows_produced_per_join”: 1,      “filtered”: “100.00”,      “cost_info”: {“read_cost”: “0.00”,”eval_cost”: “0.20”,”prefix_cost”: “0.00”,”data_read_per_join”并侍亩: “176”      },      “used_columns”:    }  }}’;

之一级:

mysql> select json_keys(@json_str1) as ‘first_object’;+—+| first_object    |+—+| |+—+1 row in set (0.00 sec)

第二级:

mysql> select json_keys(@json_str1,’$.query_block’) as ‘second_object’;++| second_object|++| |++1 row in set (0.00 sec)

第三级:

mysql>  select json_keys(@json_str1,’$.query_block.table’) as ‘third_object’\G*************************** 1. row ***************************third_object: 1 row in set (0.01 sec)

第四级:

mysql> select json_extract(@json_str1,’$.query_block.table.cost_info’) as ‘forth_object’\G*************************** 1. row ***************************forth_object: {“eval_cost”:”0.20″,”read_cost”:”0.00″,”prefix_cost”:”0.00″,”data_read_per_join”:”176″}1 row in set (0.00 sec)

那我们把这个ON 串转换为表。

SELECT * FROM ON_TABLE(@json_str1,

“$.query_block”

COLUMNS(

rowid FOR ORDINALITY,

NESTED PATH ‘$.table’

COLUMNS (

a1_1 varchar(100) PATH ‘$.key’,

a1_2 varchar(100) PATH ‘$.ref’,

a1_3 varchar(100) PATH ‘$.filtered’,

nested path ‘$.cost_info’

columns (

a2_1 varchar(100) PATH ‘$.eval_cost’ ,

a2_2 varchar(100) PATH ‘$.read_cost’,

a2_3 varchar(100) PATH ‘$.prefix_cost’,

a2_4 varchar(100) PATH ‘$.data_read_per_join’

),

a3 varchar(100) PATH ‘$.key_length’,

a4 varchar(100) PATH ‘$.table_name’,

a5 varchar(100) PATH ‘$.access_type’,

a6 varchar(100) PATH ‘$.used_key_parts’,

a7 varchar(100) PATH ‘$.rows_examined_per_scan’,

a8 varchar(100) PATH ‘$.rows_produced_per_join’,

a9 varchar(100) PATH ‘$.key’

),

NESTED PATH ‘$.cost_info’

columns (

b1_1 varchar(100) path ‘$.query_cost’

),

c INT path “$.select_id”

)

) AS tt;

++——+++——+——+——+——+——+++——+——+——+——+——+——+

| rowid | a1_1 | a1_2  | a1_3   | a2_1 | a2_2 | a2_3 | a2_4 | a3   | a| a5    | a6   | a7   | a8   | a9   | b1_1 | c    |

++——+++——+——+——+——+——+++——+——+——+——+——+——+

|| id   | const | 100.00 | 0.20 | 0.00 | 0.00 | 176  | 8    | bigtable | const | id   | 1    | 1    | id   | NULL |    1 |

|| NULL | NULL  | NULL   | NULL | NULL | NULL | NULL | NULL | NULL     | NULL  | NULL | NULL | NULL | NULL | 1.00 |    1 |

++——+++——+——+——+——+——+++——+——+——+——+——+——+

2 rows in set (0.00 sec)

当然,ON_table 函数还有其他的用法,我这里不一一列举了,详细的参考手册。

请点击输入图片描述

josn格式在需要处理的ON这篇日志中,链接:

处理ON格余如盯式的文本有多种方法,写一下竖和我的方法,请大家指点一下。

先橡轮分析一下ON格式,主要框架有user、statu,retweeted_status,visible、geo、annotations,我就建几个bean

他们是一对一的关系,user和statu、retweeted_status,是一对一,statu和statu、visible、geo、annotations一对一

,retweeted_status和visible、geo一对一关系。

利用反射处理,部分代码如下:

得到set方法

Object b = jsonObject.get(k);

StringBuffer setM = new StringBuffer();

setM.append(“set”);

setM.append(k.substring(0, 1).toUpperCase());

setM.append(k.substring(1, k.length()));

Field field = userClass.getDeclaredField(k);

Method method = userClass.getMethod(setM.toString(),new Class{ field.getType() });

执行set方法:method.invoke(userObject, new Object{statusObject});

大致的思路是这样的

在插入之前把数据处理一下,保证数据在取出的时候不会出错,就行了,和普通的插入是一样的

1、表字段类型是varchar、text等能存字符串的数据类配丛型

2、应用转换成json字符串直接insert语句插陵卖仔入就可以尺汪了

新建一个json数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于新建一个json数据库,创新实用!新建ON数据库,解放数据处理之烦恼,怎么在mysql中放入json数据的信息别忘了在本站进行查找喔。


数据运维技术 » 创新实用!新建ON数据库,解放数据处理之烦恼 (新建一个json数据库)