招贤纳士
Berkeley DB is an open source database kernel that is developed in C, C++, and Java. It provides APIs for a variety of programming languages and environments. Berkeley DB is very simple and lightweight, yet it is very flexible and provides sophisticated database functionalities such as indexing, caching, in-memory and on-disk operation, concurrent access, transactions and recovery, and replication for high availability.
We are the Berkeley DB global engineering team. We have colleagues in America, Britain, Australia and China (Shenzhen). We design, develop and enhance the Berkeley DB kernel. It is the industry-leading open source, embeddable database engine and has been used across various industries like mobile devices, telecom, security, storage, financial services, etc. More details at: http://otn.oracle.com/products/berkeley-db/index.html.
Do you want to join the Oracle Berkeley DB global engineering team? Are you interested in considering a career with Oracle Berkeley DB engineering group (Shenzhen)?
Responsibilities
- Develop new functionalities for Berkeley DB product set, including Berkeley DB, Berkeley DB Java Edition, and Berkeley DB XML.
- Design and implement features to integrate Berkeley DB products with popular IDEs and other open source products, such as Eclipse, Visual Studio, Apache, etc.
- Work on OS level portability for key strategic platforms, including Windows, Linux/Unix, and mobile platforms such as Windows Mobile, Google Android, Symbian and BREW.
- Streamline Berkeley DB product build, verification, and release testing process.
- Enhance existing Berkeley DB stress and performance testing.
- Develop and maintain Berkeley DB APIs for various programming languages and environments (e.g. PHP, Ruby, C#).
Requirements
- Master Degree in Computer Science or related fields.
- Minimum 3 years of experiences in system software development or equivalent education/experiences.
- Excellent knowledge of database internals, including buffer management, indexing, logging, recovery, concurrency control, etc.
- Strong programming skills in C, C++, Java and working knowledge of Tcl, Perl, XML, C#, PHP, Ruby, etc.
- Knowledge of embedded platforms, operating systems, porting processes and methodologies.
- Knowledge of testing and performance methodologies.
- Good communication skills.
- Proficient in written and spoken English.
- Intimate knowledge of Windows platform and mobile platforms such as Windows Mobile, Google Android, Symbian, and BREW is a strong plus.
我是一名开发人员,本人对BerkeleyDB很感兴趣,现在公司的项目中也将打算使用BerkeleyDB(Java 版本),但是还有一些问题想请教一下各位专业人员。
如果在使用数据库的过程,出现硬盘坏区,数据破坏,或其它比较严重的硬件问题,数据库会做什么处理?抛异常 ?截获异常后,应如何处理?在硬件问题排除后,数据库会不会自动恢复到出现问题前的状态?
我知道BDB提供了热备份的机制,但如果备份的过程出现问题(例如前面提到的硬件问题),导致备分失败,或者只备分了部分数据,BDB有没对应的问题检测或恢复机制?
因为我只是粗略地参考了一下oracle官网的部分文档,所以问题可能显得很幼稚,但这些都是工作中需要解决的问题, 望尽快回复。非常感谢。
@liming
BDB和其他很多数据库系统一样,通过事物和日志等手段来提供错误恢复。当出现故障(硬件故障,系统故障等),数据库需要根据以前备份的数据库文件,日志文件等来做恢复。因此,定期备份你的数据库文件、日志文件和其他数据库环境文件是必要的。
如果在你测试过程中出现了数据库无法恢复(以及其他的恢复异常),请将具体的信息发到BDB官方论坛,从而我们可以进一步来看。