1. Overview
Thread local storage(tls) is a feature provided by most modern operating
systems(OS) that allow multiple threads within a process to have its own “global”
data, but the scope of the “global” data is restricted within a thread
itself, i.e. tls variables are thread wide global variables.
TLS can be useful if we want to store global data which are grouped by
threads, each thread only accesses its own piece of data, and have no loss of
concurrency. Without tls, we would have to store such data in a global data
structure (process wide) and use locks to sychronize access to it.
阅读全文…
Google 推出Android平台一年多以来,Android已经成为最受欢迎的手机操作系统之一(另外几个成熟的手机操作平台包括Symbian, iPhone/MacOS, Windows Mobile等)。目前,已经至少有12款手机使用Android平台,并且据报道将会有更多的手机采用Android平台。
Android平台内置的存储数据库(或者说存储引擎)是SQLite。但由于SQLite其自身的一些缺陷,比如非Java语言、并发读写性能不 佳、技术支持困难等等,所以我们的用户倾向于Berkeley DB。我在这里向大家推荐Berkeley DB Java Edition(简称BDB JE)。我们可以把BDB JE的优势(它除了是存Java语言实现外,还有很高的存储性能和良好的并发性支持、Oracle的开发及技术支持团队等等)充分运用到Android 平台上。众所周知,Android平台是类Java语言的,所以,BDB JE对Android平台的开发者而言是一款利器。
以下将手把手教你将BDB JE快速配置到Android平台上(本文,我们用Android在PC机上的模拟器 (avd) 作为实例平台)。
阅读全文…
各位2010的应届生同学们,
甲骨文的在线笔试通知已经在2009/11/10以Email形式发到每一个在线申请者的邮箱,请大家注意查收并按照指示答题。提交答案的最后期限是2009/11/13。。
如果有通过在线申请,但是还没有收到Email通知的同学、或者至今还没有完成在线申请的同学,请速与我联系:将你的Resume ID,申请的职位及工作地点,和简历发到chao.huang@oracle.com。最后的机会 – 截至到11/15!!
如果你错过了Oracle校园招聘的在线申请,但现在还想申请Oracle Berkeley DB职位的同学,请在12月1号前将你的简历发到chao.huang@oracle.com。
众所周知,Berkeley DB是开源的,个人用户可以下载做学习、试用。但实际上,Berkeley DB是Oracle的一个产品,也是要收费的。
英文好的同学,可以读一下我们的授权申明:http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html。
英文不好的同学,我在此可以稍作解释(强调:我的观点仅作参考,Oracle公司拥有最终解释权):
1. Berkeley DB产品家族三大产品(BDB,BDB-JE和BDB-XML)都是采取双license的授权模式,即开源(免费使用)和商用(付费使用)两种模式。
2. 衡量两种授权模式的一个主要区别是 – “redistribute”,意即你是否将自己的应用程序(在你的应用中使用了BDB)发布给第三方,如客户,机构,附属机构,母公司,合作者,中间商,第三方的非营利组织等。
3. 举例子来说:
- 如果是个人用户做学习研究之用,可以选择开源授权,免费;
- 如果是个人用户在BDB上做一些应用,如果你的应用是开源发布的,可以选择开源授权(但要符合BSD、GPL等开源条款);如果是闭源,需要选择商业授权;
- 如果是在公司的商用项目使用,需要选择商业授权,即付费;
如果大家再有问题,或者不确定,欢迎留言。版权保护,也是保护到每个IT从业人员。
—
附件: Oracle官方网站给出TimesTen和Berkeley DB 产品家族在美国市场参考价格(见下图)。

Berkeley DB 价格清单
关于Oracle产品的价格清单,请浏览官方网址: http://www.oracle.com/corporate/pricing/pricelists.html.
注意: 价格仅作参考,Oracle公司拥有最终解释权。
2010财年甲骨文(中国)校园招聘大致流程:
校园宣讲 -> 在线申请 -> 在线测试(涵盖:技术、性格、英文等)-> 初步筛选 -> 邀请合格同学on-site 笔试和面试 -> 进一步筛选 -> 发offer
校园宣讲会初步日程(注意:日期及时间请以51job和校园广告为准):
- Oct. 19th Shanghai Tongji Univ. (19:00-21:00)
- Oct. 20th Shenzhen HIT Graduate School (19:00-21:00)
- Oct. 21th Guangzhou Southern China Univ. of Tech. (15:00-17:00)
- Oct. 26th Beijing Tsinghua Univ. (19:00-21:00)
- Oct. 27th Wuhan Huazhong Univ. of Science and Tech. (19:00-21:00)
- Oct. 30th Hangzhou Zhejing Univ. (19:00-21:00)
- Nov. 2nd Suzhou Suzhou Univ. (14:00-16:00)
- Nov. 4th Nanjing Southest Univ.(19:00-21:00)
- Nov. 5th Dalian Dalian Univ. of Tech. (19:00-21:00)
更新!!原计划于Nov. 6th的在线测试,因后台录入部分同学的纸质简历而推迟。新的时间安排:HR给的反馈是定在本周(Nov. 9th这周末或者周末以前),请大家留意Email通知并谅解。
注: BDB的招聘行程(此项会持续更新,期待届时与你见面交流):
- Chao Huang – 校园宣讲,Oct. 19th Shanghai Tongji Univ. (19:00-21:00)
- Eric Wang – 校园宣讲,Oct. 20th Shenzhen HIT Graduate School (19:00-21:00)
今年Oracle会组织在多个城市进行面试,BDB初步决定参加下面4个。各位面试同学的时间地点请以电话通知为准。
- Eric Wang – 面试官,Nov. 17-18,深圳
- Linchun Sun – 面试官,Nov. 19-20,广州
- Chao Huang – 面试官,Nov. 25-27,北京
- Chao Huang – 面试官,Nov. 24-25,上海
Net framework源代码开放算是微软在开源社区开天辟地了,C#作为其主要载体,承载着微软无限希望。这万里长征的第一步,却引起了开源社区的不少涟漪。作为开源社区首屈一指的数据库,BDB借着东风,乘胜追击,推出了其C# API。在此,笔者抛砖引玉,简述C# API如何使用。
1. 概述
BDB C# API建立在BDB C API的基础上,通过上层C#的接口,调用BDB内核。BDB C# API基于.Net Framework 2.0及以上版本,可运行于32位和64位Windows平台,实例开发环境为Microsoft Visual Studio 2005及以上版本。除了特别说明,下文中提到的编译或运行操作均在Microsoft Visual Studio2005中进行。
BDB C# API打包在BDB源代码里(最新代码可从http://www.oracle.com/technology/software/products/berkeley-db/index.html下载)。在BDB的代码中,BDB C# API的代码主要分布于以下目录:
l <db-4.8.24>\csharp:C# API源代码;
l <db-4.8.24>\libdb_csharp:db.i和db_csharp_wrap.c,C# API和C API方法之间的映射;
l <db-4.8.24>\test\scr037:C# API的测试代码;
l <db-4.8.24>\examples_csharp:使用C# API的实例。
通过编译BDB C# API,在<db-4.8.24>\build_windows\AnyCPU\{release, debug}将得到相应的C#库。
BDB C# API支持绝大多数BDB的功能。此外,BDB C#API接口清晰明了,并提供了C#用户专用的参考的使用手册,源代码,测试及多种实例。因此,使用BDB C# API,可以轻松地实现一个功能完备的数据库应用。 阅读全文…
近十年来,XML应用越发广泛,政府也推出了《基于XML的电子公文格式规范》等标准。那么,在需要XML数据库引擎的情况下,采用原生XML数据库Berkeley DB XML(以下简称BDB XML)取代MySQL(或其它传统DB)做后台数据库是一个更好的选择。
BDB XML是Oracle推出的一款开源原生XML数据库。与传统数据库相比,原生XML数据库的优势有:
1. 可以直接操作XML文件,XML数据无损–在某些场合,无损的数据源意味着法律效力。
2. 原生检索方式,支持XQuery和XPath,符合XML习惯。
3. 性能优化:原生XML数据库会针对XML特点进行各种优化,如插入文档索引、建立节点ID等。
4. 支持相同数据的不同视图。
和其它原生XML数据库相比,BDB XML优势有:
1. 完整的ACID 事务处理、自动恢复、热备份、用于分布式事务的HA支持。
2. 支持XQuery(含XQuery Update)和XPATH。
3. 可以利用其特有的二进制元数据存取大容量二进制对象(非XML数据)。
4. 支持全Unicode字符集,中文存储、查询都不成问题。
5. 提供一套容器和迭代器接口访问和操作查询结果。
6. 提供交互式命令行工具。
阅读全文…
/*
* 这个示例程序演示了使用Berkeley DB的replication功能的方法。
*
* Berkeley DB提供了一套基本API和一套replication manager API来使用
* 它的replication功能。
* 前者有更大的灵活性,用户可以选择各种网络协议来实现数据传输,并且使用各种
* 线程库来进行多线程编程。同时由于使用最基本的API, 用户可以定制选举和
* replication系统的内部消息处理方式,非常灵活。所以这也意味着用户需要更多
* 的代码来使用Berkeley DB replication功能,开发难度相对后者较大;
* 后者基于TCP/IP协议和pthread线程库(Windows上面使用win32线程库),并且按照通常
* 的需求,对选举和内部消息处理进行了通用的处理,并且通过让用户配置
* 策略(policy)和参数的方式提供一定的灵活性和可定制性。
*
* 本程序基于Berkeley DB的replication manager。
* 阅读全文…
接上篇:Berkeley DB示例程序详解(3.1)
/*
* Perform command line parsing and common replication setup for the repmgr
* and base replication example programs.
*/
int
common_rep_setup(dbenv, argc, argv, setup_info)
DB_ENV *dbenv;
int argc;
char *argv[];
SETUP_DATA *setup_info; 阅读全文…
Berkeley DB 4.8 刚刚发布,我的心情格外激动。不仅仅是因为这个版本
是Berkeley DB新增了很多新功能,在很多方面有不小的增强,更因为在
众多的新功能中,有主要由我设计开发的STL API。 作为增强Berkeley DB的
易用性或者叫做用户友好性的重要组成部分,STL API是Berkeley DB4.8
的主要的新特性之一。
阅读全文…
最近评论