XML数据库探讨3

Launcher3源码分析 — 加载Workspace的数据 TODO 阅读详情
相关主题在前面已经发了两篇文章了。虽然也有不少人阅读(心中窃喜),却罕有评论。甚感遗憾。不管是西红柿还是臭鸡蛋,我都喜欢。很多东西,都是越辨越明的。下面接着写我的一些想法(研究成果说不上,就当想法吧):
    据我分析,现有的native-XML数据库,又过分强调了对XML文档的处理,而忽视了数据库本身的作用:对客观事物的描述和存储。所以在处理传统的关系型数据库所涉及的业务领域,并没有显示出多大的优势,反而会有这样或者那样的不足。
   针对以上的叙述,计划中的XMLDB应该首要实现一下目标(弥补普通数据库的不足和解决一般native-XML数据库的不足):
  •         基于描述的数据库设计,不同于一般数据库的基于数据的数据库设计,或者NXD数据库基于文档的的数据库设计,新的XMLDB,将是基于描述的数据库设计,即,基于对客观事物的描述,充分发挥XML文档在事物描述上的优势,以接近自然语言的方式来存储事物。
  •        增加版本的概念。能够让不同版本的数据文件协同工作。
  •          数据分布式存储和强大的聚合能力。最小的储存单位不是XML 储存单元,而是XML DB fragment,可以把同一个表的内容以不同的方式存贮在不同的物理位置,同时对用户透明,利用转换器和聚合器,对用户来说还是一个完整的XMLDBData对象。
  •         基于多线程的数据检索能力,能够比较迅速的找到所需要的数据内容。利用多线程,可以对一个表的多个XMLDB fragment同时进行检索,然后通过聚合器,聚合成一个完整的XMLDBData对象,实现数据的快速检索。
  •         支持基于XML的查询语言(XQuery?maybe yes,maybe no)。先实现一个独有的,基于XML的查询方式。在这个基础上,通过转化器,可以同时提供对XQuery,甚至SQL语言的支持
  •         支持传统数据库里一些基本的概念和功能,比如数据同步,锁的操作,以及事务的操作。这些都是数据库里面一些很经典也很重要的概念,是一个完整的数据库所不可缺少的一部分,应该支持和实现。
  •         提供完备的Adapter机制,支持对传统SQL语言操作方式的支持。
  •         提供用户自定义函数功能。先实现用户使用Java语言自定义函数,技术成熟后,提供脚本语言的支持。
  •         提供多种连接方式和安全解决方案。提供https,Soap等多种网络连接方式,并且数据库本身是一个开放的接口,可以加载不同的安全解决方案。
  • 提供丰富的连接和调试工具(属于可选目标,除了命令行调试工具外,其他的将不包括在核心组件中)

接着将要讨论的设计方案,重点就是为了实现上面所论述的那些目标,我将完成系统设计和核心模块的详细设计,争取把它做成一个开源的数据库软件,我们一起努力。(以下内容主要是指XMLDB的Java的实现)

7、XML与数据库的深度整合:SQL Server 2000及其扩展 本文深入探讨了SQL Server 2000中的XML功能及其与ADO.NET的集成,包括通过URL访问数据库资源、创建XML视图、返回查询结果为XML等特性。同时,介绍了如何使用FOR XML子句、SqlXmlAdapter以及SQLXML 3.0扩展来优化XML数据处理,并通过实际应用案例展示了XML在数据交换、备份恢复和系统集成中的重要作用。 阅读详情

相关推荐

Python 3和数据可视化:数据库与Pandas的交互

本文探讨了Python 3中Pandas库与数据库交互的多种方式,包括从数据库读取数据、创建数据库表、将Pandas数据框写入MySQL表以及如何读取XML和JSON数据。通过代码示例,展示了如何使用Pandas进行数据库连接、数据操作和格式转换,强调了在不同场景下数据处理的灵活性和效率。

weixin_33419305的博客 1029

XML:解析(三种配置读取)

XML:解析 Java中配置文件的三种配置位置及读取方式 1、用Properties解析文件,读取同级目录下的配置文件 1.如果不考虑中文的话,用字节流可以。 2.如果需要考虑中文就要用字符流;buffere 因为用字节流读取中午就会乱码。 字节流读取代码: public class Demo1 {    public static void main(String[]...

鄧旧人博客 568

【FPGA】AD9653设计和调试总结

基于FPGA的AD9653设计,设计思路,注意事项

weixin_41246509的博客 7586

db2 xml2clob_DB2 9 XML性能特征

存档日期:2019年5月16日 | 上次更新时间:2007年1月30日 | 首次发布:2006年6月22日 了解使用DB2®9 XML,IBM POWER5 +,AIX 5.3和TotalStorage DS8100的模拟证券经纪交易处理环境的性能和可伸缩性特性。 该方案包括使用金融行业标准FIXML模式。 XML事务处理(TPoX)数据库基准用于获得本文讨论的结果。 此内容不再被更新...

cusi77914的博客 247

EEG | CHB-MIT癫痫数据集CNN分类实战(一)

CHB-MIT癫痫数据集CNN分类实战

Always learn from the best. 1万+

SAP子公司财务账套配置实战:从公司代码到记账期间变式的关键步骤

本文详细介绍了为SAP子公司快速配置财务账套的实战步骤。通过复用母公司成熟配置,重点阐述了从创建公司代码、关联控制范围到分配记账期间变式的核心流程,帮助顾问在一两个小时内完成核心骨架搭建,实现高效集团财务管控。

cake8的博客 165

iBATIS 3 内的新特性

iBATIS 3 内的新特性 将 iBATIS 用作应用程序内的一种持久框架 Nathan A. Good, 高级顾问,自由开发人员, Enterprise Frameworks   简介: iBATIS 是一个项目,主要用于数据访问对象(data access object,DAO)和对象关系映射(object-relational mapping,ORM)。您...

toy 151

NR/5G - On demand SI

NR中系统消息如MIB -可用于无线帧同步等,SIB1 -小区物理信道公共配置等,是驻留一个小区所必需获得的信息,这类系统信息小区是进行周期性广播。 在SI的配置中,系统消息分为BroadCasting和non-BroadCasting,BroadCasting类系统消息基站也是周期性进行广播的,而non-BroadCasting类系统消息则是通过一种on-demand的方式,即如果需要读取这类系统消息,那么UE需要先发送请求给基站,基站响应UE之后,再下发系统消息。 ...

6775

MyBatis框架xml中一些写法

数据库为达梦 //ccc_sequence为序列名 concat('aa',ccc_sequence.nextval)

hyy 209

使用项目管理画布启动项目

许多人对商业模式画布并不陌生,它是亚历山大·奥斯特瓦德(Alexander Osterwalder)、伊夫·皮尼厄(Yves Pigneur)在《商业模式新生代》(Business Model Generation)中提出的一种用来描述商业模式、可视化商业模式、评估商业模式以及改变商业模式的通用语言。 在我们做敏捷软件项目inception(项目启动规划)的时候经常会用到商业画布,此时它的作用是帮助我们快速了解客户的业务、产品和市场,帮助客户梳理自己的资源、优势和盈利模式,总的来说,商业画布是一种简单实用的

IDEAL Garden 1224

哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理

利用SNAP软件对雷达影像进行预处理,主要包括热噪声去除、轨道文件校正、辐射定标、滤波校正、多普勒地形校正,最终获得入射角和后向散射信息。数据:本次实验所用数据为哨兵一号(Sentinel-1A)干涉宽幅模式(Interferometric Wideswath,IW)下经过多视处理和地距转换的GRD格式产品一般处理流程如下:0 SNAP软件安装软件安装:安装成功后打开SNAP后如图所示:1 数据...

weixin_30000407的博客 1万+

【Mybatis】基于XML配置的基本使用

文章依照官网文档所写,使用的mybatis版本为3.5.4,使用数据库为mysql 本文以使用案例为主,基础性讲解较少,请结合文档阅读。也是初学者,能力有限,有错麻烦指正,谢谢 本文所用代码上传至GitHub,全部运行方法都在测试实例中。 Getting Start 本章内容的测试代码在test/java/basic中,使用到的配置文件在src/main/resources/basic中 基本...

dominic_z的博客 443

PyTorch深度学习实战(39)——少样本学习(Few-shot Learning)

小样本学习 (Few-shot Learning) 旨在解决在训练集中只有很少样本的情况下进行分类和推理的问题。在小样本学习中,我们希望通过利用已有的少量样本和先验知识来进行泛化,以便在面对新的、未见过的类别时能够做出准确的预测。这就要求模型能够从有限的训练样本中提取出有用的信息,并能够将这些信息应用到新类别的样本中去。在本节中,将介绍孪生、原型和关系网络的原理,并使用 PyTorch 实现孪生网络。

盼小辉丶的博客 1万+

如果更改android 4.4.4上的launcher3默认布局

如题,我们在android 4.4之前,launcher里设置默认桌面布局,一般都是更改的default_workspace.xml这个文件,但是在android4.4.4后,launcher3上,却好像是用了数据库来代替了布局文件 ,现在无论如何修改哪个目录下的default_workspace.xml,都不会起任何作用,求大神们指点下,如果要改用default_workspace.xml来配置

235

816华为OD机试真题 新系统 - 电池充电时间计算 (Java/Py/C/C++/Js/Go)

816华为OD机试真题 新系统 - 电池充电时间计算 (Java/Py/C/C++/Js/Go)

算法大师! 469

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

struts1.3.10

最近使用struts1.3.10开发时,发现在其struts-config.xml中并无有关数据库配置,但在struts1.0中的struts-config.xml还有关数据库的配置,但为什么在高版本中就取消了这个功能呢?真教人不解?...

珍惜 198

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Empty, Unavailable, Invalid Variables Handling in Actionscript 3.0 & PHP 5+

为什么要做这样的专题呢,因为当你处理一个数据的时候,你确定知道它是有效的,并且它的类型,那么处理是很容易的一件事,这并不是编写程序的苦难的部分。问题往往是对于异常情况的处理不够完善,因为在现实中,很多时候你的数据来源并不见得可靠,而你在你的逻辑里,要考虑到这类可能性。因为不同的程序语言的机制与原理各不相同,所以这个问题就变得更为复杂。所在在这里做一个总汇,目前只是针对Actionscript与PH

Vincent's Tech Blog 740

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

数据库-SQLite

技术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilong 数据库-SQLite技术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilongiOS应用数据存取的常用方式•XML属性列表-- PList...

weixin_30314793的博客 83

数据库-Core Data

技术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilong 数据库-Core Data 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilongiOS应用数据存取的常用方式•XML属性列表-- P...

weixin_30437481的博客 85

python3学习之路-高级篇

python3学习之路-高级篇数据交换格式csv格式XML格式JSON格式配置文件格式Xpath格式数据库编程mysql数据库mogoDB数据库网络编程TCP协议UDP协议http/https协议图形界面编程wxPython图形使用多线程编程进程线程 数据交换格式 csv格式 1.csv是用,分隔数据项的数据交换格式 2.引用:import csv 2.常用函数 csv.reader(csvfi...

u014563457的博客 422

android通过servlet连接mysql,关于android通过servlet访问MySql数据库的问题

关于android通过servlet访问MySql数据库的问题(附带简单的JSON使用)关于android通过servlet访问MySql数据库的问题(附带简单的JSON使用)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~准备工作~~~~~~~~~~~~~~~~~~~~~~~一。tomcat编译servlet要用到servlet.api.jar包,需要存放于C:\Progra...

weixin_39969143的博客 233
上一篇: XML数据库探讨2
下一篇: Review VS Test
developerly
博客等级 码龄26年 2粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值