﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-小飞哥</title><link>http://www.blogjava.net/dwtq/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 05:59:46 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 05:59:46 GMT</pubDate><ttl>60</ttl><item><title>探求ETL本质之六（元数据漫谈）</title><link>http://www.blogjava.net/dwtq/archive/2010/05/26/321890.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Wed, 26 May 2010 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/05/26/321890.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/321890.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/05/26/321890.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/321890.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/321890.html</trackback:ping><description><![CDATA[<p>对于元数据（Metadata）的定义到目前为止没有什么特别精彩的，这个概念非常广，一般都是这样定义，&#8220;元数据是描述数据的数据（Data about Data）&#8221;，这造成一种递归定义，就像问小强住在哪里，答，在旺财隔壁。按照这样的定义，元数据所描述的数据是什么呢？还是元数据。这样就可能有元元元...元数据。我还听说过一种对元数据，如果说数据是一抽屉档案，那么元数据就是分类标签。那它和索引有什么区别？</p>
<p>元数据体现是一种抽象，哲学家从古至今都在抽象这个世界，力图找到世界的本质。抽象不是一层关系，它是一种逐步由具体到一般的过程。例如我-&gt;男人-&gt;人-&gt;哺乳动物-&gt;生物这就是一个抽象过程，你要是在软件业混会发现这个例子很常见，面向对象方法就是这样一种抽象过程。它对世界中的事物、过程进行抽象，使用面向对象方法，构建一套对象模型。同样在面向对象方法中，类是对象的抽象，接口又是对类的抽象。因此，我认为可以将&#8220;元&#8221;和&#8220;抽象&#8221;换一下，叫抽象数据是不是好理解一些。</p>
<p>常听到这样的话，&#8220;xx领导的讲话高屋建瓴，给我们后面的工作指引的清晰的方向&#8221;，这个成语&#8220;高屋建瓴&#8221;，站在10楼往下到水，居高临下，能砸死人，这是指站在一定的高度看待事物，这个一定的高度就是指他有够&#8220;元&#8221;。在设计模式中，强调要对接口编程，就是说你不要处理这类对象和那类对象的交互，而要处理这个接口和那个接口的交互，先别管他们内部是怎么干的。</p>
<p>元数据存在的意义也在于此，虽然上面说了一通都撤到哲学上去，但这个词必须还是要结合软件设计中看，我不知道在别的领域是不是存在Metadata这样的叫法，虽然我相信别的领域必然有类似的东东。元数据的存在就是要做到在更高抽象一层设计软件。这肯定有好处，什么灵活性啊，扩展性啊，可维护性啊，都能得到提高，而且架构清晰，只是弯弯太多，要是从下往上看，太复杂了。很早以前，我曾看过backorifice的代码，我靠，一个简单的功能，从这个类转到父类，又转到父类，很不理解，为什么一个简单的功能不在一个类的方法中实现就拉到了呢？现在想想，还真不能这样，这虽然使代码容易看懂了，但是结构确实混乱的，那他只能干现在的事，如果有什么功能扩展，这些代码就废了。</p>
<p>我从98年刚工作时就开始接触元数据的概念，当时叫做元数据驱动的系统架构，后来在QiDSS中也用到这个概念构建QiNavigator，但是现在觉得元数据也没啥，不就是建一堆表描述界面的元素，再利用这些数据自动生成界面吗。到了数据仓库系统中，这个概念更强了，是数据仓库中一个重要的部分。但是至今，我还是认为这个概念过于玄乎，看不到实际的东西，市面上有一些元数据管理的东西，但是从应用情况就得知，用的不多。之所以玄乎，就是因为抽象层次没有分清楚，关键就是对于元数据的分类（这种分类就是一种抽象过程）和元数据的使用。你可以将元数据抽象成0和1，但是那样对你的业务有用吗？必须还得抽象到适合的程度，最后问题还是&#8220;度&#8221;。</p>
<p>数据仓库系统的元数据作用如何？还不就是使系统自动运转，易于管理吗？要做到这一步，可没必要将系统抽象到太极、两仪、八卦之类的，业界也曾定义过一些元数据规范，向CWM、XMI等等，可以借鉴，不过俺对此也是不精通的说，以后再说。</p>
<img src ="http://www.blogjava.net/dwtq/aggbug/321890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-05-26 10:45 <a href="http://www.blogjava.net/dwtq/archive/2010/05/26/321890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>搜索Maven仓库</title><link>http://www.blogjava.net/dwtq/archive/2010/03/08/314829.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Mon, 08 Mar 2010 07:31:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/03/08/314829.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/314829.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/03/08/314829.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/314829.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/314829.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/03/08/314829.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/314829.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-03-08 15:31 <a href="http://www.blogjava.net/dwtq/archive/2010/03/08/314829.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员的告白</title><link>http://www.blogjava.net/dwtq/archive/2010/03/05/314566.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Fri, 05 Mar 2010 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/03/05/314566.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/314566.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/03/05/314566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/314566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/314566.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/03/05/314566.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/314566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-03-05 10:28 <a href="http://www.blogjava.net/dwtq/archive/2010/03/05/314566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>主流地图API比较</title><link>http://www.blogjava.net/dwtq/archive/2010/03/04/314523.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Thu, 04 Mar 2010 07:40:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/03/04/314523.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/314523.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/03/04/314523.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/314523.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/314523.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/03/04/314523.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/314523.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-03-04 15:40 <a href="http://www.blogjava.net/dwtq/archive/2010/03/04/314523.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JoSQL</title><link>http://www.blogjava.net/dwtq/archive/2010/02/25/313913.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Thu, 25 Feb 2010 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/02/25/313913.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/313913.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/02/25/313913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/313913.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/313913.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/02/25/313913.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/313913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-02-25 17:45 <a href="http://www.blogjava.net/dwtq/archive/2010/02/25/313913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google日历中可以导入外部的ical数据实现免费发送天气预报</title><link>http://www.blogjava.net/dwtq/archive/2010/02/03/311831.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Wed, 03 Feb 2010 10:19:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/02/03/311831.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/311831.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/02/03/311831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/311831.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/311831.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/02/03/311831.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/311831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-02-03 18:19 <a href="http://www.blogjava.net/dwtq/archive/2010/02/03/311831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员应该具备的十项技能</title><link>http://www.blogjava.net/dwtq/archive/2010/02/03/311830.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Wed, 03 Feb 2010 10:08:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/02/03/311830.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/311830.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/02/03/311830.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/311830.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/311830.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/02/03/311830.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/311830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-02-03 18:08 <a href="http://www.blogjava.net/dwtq/archive/2010/02/03/311830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>沁园春 . 窝</title><link>http://www.blogjava.net/dwtq/archive/2010/02/02/311656.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Tue, 02 Feb 2010 05:02:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/02/02/311656.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/311656.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/02/02/311656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/311656.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/311656.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/02/02/311656.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/311656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-02-02 13:02 <a href="http://www.blogjava.net/dwtq/archive/2010/02/02/311656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>camel with xquery</title><link>http://www.blogjava.net/dwtq/archive/2010/02/01/311476.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Mon, 01 Feb 2010 03:10:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/02/01/311476.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/311476.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/02/01/311476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/311476.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/311476.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/dwtq/archive/2010/02/01/311476.html'>阅读全文</a><img src ="http://www.blogjava.net/dwtq/aggbug/311476.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-02-01 11:10 <a href="http://www.blogjava.net/dwtq/archive/2010/02/01/311476.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>快速清空数据表</title><link>http://www.blogjava.net/dwtq/archive/2010/01/29/311231.html</link><dc:creator>小飞哥</dc:creator><author>小飞哥</author><pubDate>Fri, 29 Jan 2010 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/dwtq/archive/2010/01/29/311231.html</guid><wfw:comment>http://www.blogjava.net/dwtq/comments/311231.html</wfw:comment><comments>http://www.blogjava.net/dwtq/archive/2010/01/29/311231.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dwtq/comments/commentRss/311231.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dwtq/services/trackbacks/311231.html</trackback:ping><description><![CDATA[truncate table 表名 一次性清空，无条件的。很快。<br />
<br />
TRUNCATE TABLE 删除表中的所有行，而不记录单个行删除操作。 语法 TRUNCATE TABLE name 参数 name 是要截断的表的名称或要删除其全部行的表的名称。 注释 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同：二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快，且使用的系统和事务日志资源少。 DELETE 语句每次删除一行，并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据，并且只在事务日志中记录页的释放。 TRUNCATE TABLE 删除表中的所有行，但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值，请改用 DELETE。如果要删除表定义及其数据，请使用 DROP TABLE 语句。 对于由 FOREIGN KEY 约束引用的表，不能使用 TRUNCATE TABLE，而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中，所以它不能激活触发器。 TRUNCATE TABLE 不能用于参与了索引视图的表 
<img src ="http://www.blogjava.net/dwtq/aggbug/311231.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dwtq/" target="_blank">小飞哥</a> 2010-01-29 15:44 <a href="http://www.blogjava.net/dwtq/archive/2010/01/29/311231.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>