随着数码技术的发展,数据已经成为企业运营和决策制定的重要基础。然而,数据处理的烦恼也日益增加,尤其是大数据时代下,数据量的庞大和多样性使得数据处理更加困难。为此,一种新型的数据库——ON数据库应运而生,它具有创新和实用的特点,成功解放了数据处理的烦恼。
十载的鹤壁网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整鹤壁建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“鹤壁网站设计”,“鹤壁网站推广”以来,每个客户项目都认真落实执行。
一、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数据库成为了应用于数据处理和管理困难的新型工具,在解决多样化和海量数据处理中有着重要的作用。
相关问题拓展阅读:
我们知道,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数据的信息别忘了在本站进行查找喔。
创新互联网络推广网站建设,网站设计,网站建设公司,网站制作,网页设计,1500元定制网站优化全包,先排名后付费,已为上千家服务,联系电话:13518219792
分享名称:创新实用!新建ON数据库,解放数据处理之烦恼(新建一个json数据库)
链接分享:http://www.shufengxianlan.com/qtweb/news11/244011.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联