[英]What is best practice to create a small database in python?
如果我想在Python中创建一个小型数据库,最好的做法是什么?
例如,如果我想在数据库中存储思科命令“sh ip route”的输出,
O 1.1.1.1 [110/2] via 10.0.0.1, 00:00:23, FastEthernet0/0
存储这些值:
1.1.1.1 - >下一跳,出接口,源(如O,C,S)
我觉得SQL将是最好的解决方案,但如果不是SQL,那么另一种选择是什么?
路由表看起来有一个更类似于像Postgres或MySQL这样的RDBMS中的关系表的文档的表单。
在这种情况下,我更倾向于使用面向文档的数据库。 关于使用哪个数据库取决于您的部署方案和应用程序体系结构。
如果您的目标是可以通过网络访问的数据库服务器,那么Mongo是一个非常好的选择。 如果您要使用仅在本地访问数据的单节点应用程序,那么您可以查看TinyDB。
使用TinyDB,您的代码看起来像:
from tinydb import TinyDB, Query
db = TinyDB('/path/to/db.json')
db.insert({ 'Destination': '1.1.1.1',
'NextHop': '10.0.0.1',
'A': '*',
'P': 'B',
'Prf': 170',
....
})
最后寻找各个路线:
route = Query()
db.search(route.Destination == '1.1.1.1')
# [{'Destination': '1.1.1.1','NextHop': '10.0.0.1','A': '*',...}]
或者立刻获得所有这些:
db.all()
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.