甲骨文成MySQL元件转包商?_MySQL
甲骨文
去年10月,甲骨文公司并购Innobase的时候,开放源代码数据库软件MySQL的员工和顾客不禁打了一阵冷颤。Innobase供应MySQL一项重要的元件。
现在,MySQL已有应变的腹案。
这家新创公司正以收购自Netfrastructure的技术为基础,着手自制交易存储引擎(transactional storage engine),今年内即可望推出,届时将能有效递补Innobase技术被甲骨文买走后所留下的缺口。
MySQL主管预定在4月稍后登场的客户会议中,揭露自制存储引擎的计划,并进一步说明存储引擎“外挂程序”(plug-in) 架构的细节。
MySQL同时也将更新甲骨文所接收的Innobase合同。这纸合同订的有效年限不到十年,并要求甲骨文依照原来的规定,更新Innobase的InnoDB存储引擎。
MySQL首席执行官Marten Mickos说:“甲骨文跟我们说,生意照常--他们也不希望我们的脚步慢下来,并表示会修正软件臭虫。”他补上一句:“有甲骨文当我们的转包商(subcontractor),也满好的。”
MySQL数据库可搭配各种不同的存储引擎,包括InnoDB在内。之前,MySQL一直以其他公司的存储引擎与其他数据库元件搭售。
InnoDB的产品适用于以商业为导向的交易系统。各界都在揣测,甲骨文并购InnoDB有何企图。有人怀疑,甲骨文是否有意削弱MySQL的气势,或甚至扼杀一款与MySQL搭档的热门产品。
RedMonk分析师Stephen O'Grady说,MySQL决定自己写存储引擎,显然是对甲骨文收购Innobase和Sleepycat Software(另一种与MySQL互通的开源数据库)的直接反应。
O'Grady说:“基于这些收购案可能带来的挑战,以及对顾客可能产生的困扰,掌握那项技术符合MySQL的长期利益。”
Innobase只是一家员工仅五人的小公司,凭甲骨文的规模,买下Innobase的开销不大。但掌控Innobase却让甲骨文取得宝贵的信息,得知顾客如何使用MySQL。
与甲骨文相比,MySQL规模很小,2005年营收不到4,000万美元,但根据市场研究公司Evans Data,MySQL是目前开发人员最喜欢的开源数据库软件。
一般来说,开源数据库的功能比不上甲骨文的旗舰数据库产品。但MySQL、Ingres和 EnterpriseDB等开源公司带给甲骨文的竞争压力却与日俱增。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.

MySQL has a free community version and a paid enterprise version. The community version can be used and modified for free, but the support is limited and is suitable for applications with low stability requirements and strong technical capabilities. The Enterprise Edition provides comprehensive commercial support for applications that require a stable, reliable, high-performance database and willing to pay for support. Factors considered when choosing a version include application criticality, budgeting, and technical skills. There is no perfect option, only the most suitable option, and you need to choose carefully according to the specific situation.

Data Integration Simplification: AmazonRDSMySQL and Redshift's zero ETL integration Efficient data integration is at the heart of a data-driven organization. Traditional ETL (extract, convert, load) processes are complex and time-consuming, especially when integrating databases (such as AmazonRDSMySQL) with data warehouses (such as Redshift). However, AWS provides zero ETL integration solutions that have completely changed this situation, providing a simplified, near-real-time solution for data migration from RDSMySQL to Redshift. This article will dive into RDSMySQL zero ETL integration with Redshift, explaining how it works and the advantages it brings to data engineers and developers.

To fill in the MySQL username and password: 1. Determine the username and password; 2. Connect to the database; 3. Use the username and password to execute queries and commands.

1. Use the correct index to speed up data retrieval by reducing the amount of data scanned select*frommployeeswherelast_name='smith'; if you look up a column of a table multiple times, create an index for that column. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

MySQL database performance optimization guide In resource-intensive applications, MySQL database plays a crucial role and is responsible for managing massive transactions. However, as the scale of application expands, database performance bottlenecks often become a constraint. This article will explore a series of effective MySQL performance optimization strategies to ensure that your application remains efficient and responsive under high loads. We will combine actual cases to explain in-depth key technologies such as indexing, query optimization, database design and caching. 1. Database architecture design and optimized database architecture is the cornerstone of MySQL performance optimization. Here are some core principles: Selecting the right data type and selecting the smallest data type that meets the needs can not only save storage space, but also improve data processing speed.

Detailed explanation of database ACID attributes ACID attributes are a set of rules to ensure the reliability and consistency of database transactions. They define how database systems handle transactions, and ensure data integrity and accuracy even in case of system crashes, power interruptions, or multiple users concurrent access. ACID Attribute Overview Atomicity: A transaction is regarded as an indivisible unit. Any part fails, the entire transaction is rolled back, and the database does not retain any changes. For example, if a bank transfer is deducted from one account but not increased to another, the entire operation is revoked. begintransaction; updateaccountssetbalance=balance-100wh

Copy and paste in MySQL includes the following steps: select the data, copy with Ctrl C (Windows) or Cmd C (Mac); right-click at the target location, select Paste or use Ctrl V (Windows) or Cmd V (Mac); the copied data is inserted into the target location, or replace existing data (depending on whether the data already exists at the target location).
