1.SSVM 0.7 将 WebAssembly 引入公有云
2.OracleSpatial与OCI高级编程内容简介
3.å¦ä½å¨ Oracle Linux ä¸ä½¿ç¨ PHP DTrace
4.tpc-c是源译什么
5.Oracleä¸PHPå®ä¾å¼åMyers订åè·è¸ªç³»ç»
SSVM 0.7 将 WebAssembly 引入公有云
SSVM (Second State VM) 是一个高性能的 WebAssembly 虚拟机,专门针对服务端应用优化。码编凭借其先进的源译 AOT(Ahead of Time)编译器,SSVM 已成为最快的码编 WebAssembly 虚拟机之一。最新版本 SSVM 0.7 引入了一系列强大且独一无二的源译功能,加强了 SSVM 在云原生应用程序运行时领域的码编神龙腾飞通达信源码领先地位。
SSVM 支持 WebAssembly 提案中的源译功能和设计,可能成为 WebAssembly 的码编正式规范。例如,源译它支持 WebAssembly 程序的码编 WASI(WebAssembly系统接口)规范,允许与 Linux 操作系统安全交互。源译SSVM 0.7 版本中,码编支持的源译提案包括了 WASI 的网络访问扩展 wasi-socket,有望成为首个支持此功能的码编 WebAssembly 虚拟机。
SSVM 在非标准扩展的源译支持方面与其它 WebAssembly 虚拟机不同,它根据实际场景需求,对 WASI 的服务端应用扩展进行了定制化增强。SSVM 0.7 版本中的国外macd源码基于能力的安全性模型通过声明性规则控制对主机系统的访问,例如,通过 WASI 规范,SSVM 主机应用程序可设定虚拟机可以访问的文件夹。同时,SSVM 增强了对操作系统本机命令的支持,沙盒 WebAssembly 字节码应用程序只能访问明确声明的命令,提供更严格的安全控制。
SSVM 具备跨平台特性,允许开发者在不同平台部署应用程序。SSVM 0.7 版本在 Ubuntu . 上开发,以利用先进的 LLVM 功能,支持 AOT 编译器。通过为旧版 Linux 发行版构建静态链接的 SSVM 二进制文件,SSVM 实现了在老旧 CentOS 7 image 上的运行,同时计划移植到各种服务器、嵌入式操作系统和硬件平台上。
作为“云原生”WebAssembly 虚拟机,odbcmysql源码设计SSVM 0.7 集成了云服务,支持 OCI 规范,允许由 Cloud Native Orchestration 工具如 Kubernetes 管理。SSVM 还支持多种编程语言,包括 C、C++、Rust 和 AssemblyScript,以及特定行业应用的细分编程语言(DSL),如在以太坊区块链上运行智能合约的 Ewasm。
SSVM 0.7 版本旨在优化 Web、边缘、区块链和 Serverless 计算环境,提供高性能和安全的运行时环境。用户可通过 SSVM 的源代码提交反馈,促进社区的持续改进。
OracleSpatial与OCI高级编程内容简介
本书深入剖析了Oracle数据库中至关重要的两项开发工具,即OracleSpatial和OCI(Oracle Call Interface)。高级机器源码特别关注从多平台视角出发,讲解如何利用OCI构建兼容不同平台的应用程序。所有示例源代码均经过Windows和Linux环境的严格调试,确保了跨平台的稳健性。本书面向的对象包括那些使用C/C++开发Oracle数据库系统的管理员,以及在GIS(地理信息系统)、CAD(计算机辅助设计)和工程图形领域从事OracleSpatial应用开发的专业人员,同时,空间数据库研究者也能从中受益匪浅。 Oracle数据库在关系数据库领域一直处于领先地位,其扩展至空间数据库领域后,其产品OracleSpatial在市场上占据了主导地位。在地理信息系统、地图系统以及大型工程CAD系统等领域中,OracleSpatial凭借其先进的技术和卓越性能,深受广大用户的喜爱和依赖。扩展资料
å¦ä½å¨ Oracle Linux ä¸ä½¿ç¨ PHP DTrace
DTrace æ¯ä¸ä¸ªå欢è¿çãâæ»æ¯å¯ç¨âçè·è¸ªå®ç¨ç¨åºï¼ç¨äºè¯å«å¼ååç产系ç»ä¸çæ§è½åè¡ä¸ºé®é¢ãéç¨äº Oracle Linux çæ åâUEK3âå æ ¸å æ¬äº DTrace æ¯æãéè¿è·è¸ª PHP æ ¸å¿å PHP OCI8 æ©å±ä¸çç¨æ·æ¢æµå¨ï¼æ们å¯ä»¥ææå°è¯å« PHP èæ¬é®é¢ãDTrace 让æ¨å¯ä»¥è·è¸ªç¨æ·åºç¨ç¨åºä¸æä½ç³»ç»ä¹é´ç交äºã
å¨ Oracle Linux ä¸ï¼DTrace å®ç¨ç¨åºéè¦ä¸ä¸ª Oracle Unbreakable Linux Network (ULN) 订é ã
å®è£ Oracle Linux å Oracle Unbreakable Enterprise Kernel çæ¬ 3
é¦å ï¼éè¿ Oracle E-Delivery å®è£ Oracle Linux 6.4ã
å®è£ Oracle Linux 6.4 ä¹åï¼ç¡®ä¿å¨ ULN ä¸å¯ç¨äºâUnbreakable Enterprise Kernel Release 3 for Oracle Linux 6 (x_) - Latestâé¢éãå®è£ UEK3 å æ ¸ï¼
# yum install kernel-uek
å¨ ULN ä¸å¯ç¨âOracle Linux 6 Dtrace Userspace Tools (x_) - Latestâé¢éï¼å®è£ DTrace å®ç¨ç¨åºï¼
# yum install dtrace-utils
éæ°å¼å¯¼å°æ°ç UEK3 3.8. å æ ¸ã
å®è£ PHP
éè¦ä½¿ç¨ --enable-dtrace åæ°æ建 PHPãæ¨å¯ä»¥å®è£ ä¸äºå¯ç¨äº DTrace çé¢å æ建çè¯ä¼°ç RPMï¼è¯·åè§âä½¿ç¨ Oracle Linuxâplaygroundâé¢æ建软件å ç DTrace PHPâã
ä¹å¯ä»¥æç §å¦ä¸æè¿°éæ°æ建 PHPï¼
ä» php.net ä¸è½½ PHP 5.4. æ PHP 5.5.4 ææ´é«çæ¬ï¼ç¶åè¿è¡è§£å缩ï¼
$ tar -xJf php-5.4..tar.bz2
$ cd php-5.4.
é ç½® PHPï¼
$ ./configure \
--prefix=$HOME/p \
--enable-dtrace \
--disable-all --disable-cgi \
--with-pear --enable-xml --enable-libxml --with-zlib
è¿å°æ建ä¸ä¸ªå¯ç¨äº DTrace çæå°çå½ä»¤è¡ PHPãææä¸éè¦çæ©å±å被ç¦ç¨ãæ¨å¯æ ¹æ®éè¦å å«å ¶ä»æ©å±ã
--prefix é项表示å®è£ å°ä¸ä¸ªæ¬å°ç®å½ï¼æ¹ä¾¿æ¨æ¥çå®è£ çæ件ãç¨å®å¿«ç §ä¹åï¼æ¸ ç该ç®å½å¾å®¹æã
pearãxml å zlib é项å è®¸ä½¿ç¨ pecl å½ä»¤ã
çæ PHP äºè¿å¶æ件并è¿è¡å®è£ ï¼
$ make
$ make install
å° php.ini-development å¤å¶å° $HOME/p/lib/php.iniï¼ç¼è¾è¯¥æ件æ¥è®¾ç½®æ¶åºï¼ä¾å¦ï¼
date.timezone = America/Los_Angeles
å®è£ éç¨äº Oracle Database ç PHP OCI8
è¯ä¼°ç PHP RPM å æ¬å¯ä»¥è¿æ¥å° Oracle Database ç OCI8 æ©å±ï¼è¯·åè§åé¢æå°çåæã
ä¸è¿ï¼å¦ææ¨èªå·±ç¼è¯ PHPï¼éè¦æå¨å° PHP OCI8 ä½ä¸ºä¸ä¸ªâå ±äº«çâæ©å±æ·»å ï¼
å¨ ULN ä¸å¯ç¨âOracle Software for Oracle Linux 6 (x_)âé¢éã
以 root ç¨æ·èº«ä»½å®è£ Oracle Instant Clientï¼
# yum install oracle-instantclient.1-basic oracle-instantclient.1-devel
ä½ä¸ºæ®éç¨æ·ï¼è®¾ç½® PHP ç PATHï¼
$ export PATH=$HOME/p/bin:$PATH
å¦æéè¦è®¿é® /products/servers/pseries/tech/tpcc.shtml
---------------------------------------------------------------------------------------------------------------
[Oracle] How to Use Open Source Tools to Implement Your Own TPC-C
作者:Fenng
日期:Mar (v0.)
出处:
版本:0.
--------------------------------------------------------------------------------
本文简介
介绍如何利用开源工具实现Oracle数据库环境中的expmac指标源码TPC-C.对DBA、开发人员、BI实施者有一定的参考价值.
引言描述
设想一下这样一种情况:
您正在负责公司的一个OLTP类型的数据库项目,面临数据库服务器选型的问题:如何选择硬件才能满足产品环境的业务要求? 这个事情是“拍脑袋” 能决定的吗?
不可否认,硬件选型是一门艺术,选择合适的硬件,能给公司节省大笔的费用,选择不能满足业务需求的服务器产品,不但花了冤枉钱,还会对将来的业务产生影响。
可能大家首先会想到参考服务器的TPC-C的信息。提到TPC-C,可能很多人对此都感到既熟悉又陌生,因为经常听人说起,但是具体的问下去,能说清楚的又没有多少人,而且,从大家口中得到的还不尽相同。那么什么是TPC/TPC-C这些都代表什么意思呢?
先说一下TPC-C,TPC-C是联机事务处理(on-line transaction processing , OLTP)的基准程序。TPC-C模拟一个批发商的货物管理环境。TPC-C使用三种性能和价格度量,其中性能由TPC-C吞吐率衡量,单位是tpmC。tpm是transactions per minute的简称;C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。
了解了这些内容,您可能会想:我们公司的PC服务器完全是自己攒出来的,如何进行TPC-C的衡量的?也去参考TPC官方站点上的信息?不要忘了,TPC.org 上公布的测试结果都是各大厂商根据自己的系统进行了充分优化之后的出来的结果。打个比方,TPC公布的数值就好比崭新的法拉利跑车经过专业技师们的精心检查保养,然后在专用跑道上跑出来的速度值,而我们的情况可能是法拉利(甚至是夏利)要在乡村土路上行驶,可比性大打折扣。
有的朋友会想:那我们可以根据自己的情况,拿一个秒表在“乡村土路”上测试一下看看呀。这样的意义也是显而易见的,对我们的实际的环境不是更具有参考价值?不错,这也正是本文的目的:让我们利用开源(Open Source)工具来实现自己的针对Oracle数据库的TPC-C。
Hammerora—the Open Source Oracle Load Test Tool
首先介绍一下Hammerora。从创作者对这个工具的标题描述可以看出,Hammerora是一款Oracle数据库负载测试工具。该工具可以在Oracle 8i、9i和g等版本上使用。当前可以用在Linux/Unix和Windows上。初步实现了跨平台。Hammerora 完全用TCL/TK写就,以GPL版权形式发布。
作者是Steve Shaw。该项目的主页在:/projects/hammerora/ 。
Hammerora的设计原理是解析Oracle的Trace文件,并把它们转化为Oratcl程序,然后在Oracle数据库中用多个用户并发的对用户的事务进行“回放”。我们知道,Oracle的Trace文件能够翔实的记录用户对数据库的操作。这样Hammerora能够保证对用户环境的真实模拟。
Hammerora最初是用以学习的目的:期望是模拟数据库的一定数量的用户。这样一个小的基于家庭的学习开发系统就能够比较接近产品环境。这个工具已经成长为一个Oracle数据库做压力测试--从小的数据库到大的基于RAC的集群。
TCL语言已经用来提供高性能的和Oracle数据库的OCI集成,而无需重新编译生成的程序。每个生成的程序具有严格的TCL/Oratcl兼容性,并且可以在Hammerora的命令行Shell下运行。TCL的强大功能和灵活性意味着潜在的功能是无穷尽的。TCL线程包用来实现对Oracle数据库的多个并发连接。
Hammerora包含Oracle存储过程和TCL驱动脚本用来运行TPC-C基准程序。但是,我们先要构建一个同TPC-C规范相符的数据库。这样,我们需要用到Orabm。
Orabm
Orabm是Geoff Ingram (High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability一书的作者)构建的一个程序包,包含了一套SQL脚本和几个命令行程序。Orabm数据装载程序(Orabmload)构建了一组遵从TPC-C标准的数据用以测试。Orabm的程序包和源代码可以从它的主页面( /Oracle/Use_OpenSourceTool_implement_YourOwn_TPC-C.htm
TPC基准程序及tpmc值
—兼谈在使用性能度量时如何避免误区
今天的用户在选用平台时面对的是一个缤纷繁杂的世界。用户希望有一种度量标准,能够量化计算机系统的性能,以此作为选型的依据。作者曾在美国从事过数年计算机性能评价工作,深深体会到,计算机的性能很难用一两种度量来 评价,而且,任何度量都有其优缺点,尤其是当使用者对性能度量了解不深时,很容易被引入一些误区,甚至推演出错误的结论。本文以TPC基准程序为例,给出一 些实际建议,以帮助用户避免进入这些误区。
一、什么是TPC和tpmC?
tpmC值在国内外被广 泛用于衡量计算机系统的事务处理能力。但究竟什么是tpmC值呢?作者曾向一些 用户、推销人员乃至某些国外大公司的技术人员问过这个问题,但回答的精确度 与tpmC值的流行程度远非相称。tpmC这一度量也常被误写为TPM或TPMC。
1、TPC
TPC(Transaction Processing Performance Council,事务处理性能委员会)是由数家会员公司创建的非盈利组织,总部设在美国。该组织对全世界开放,但迄今为止,绝大多数会员都是美、 日、西欧的大公司。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功 能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测 试结果的发布。
TPC的出版物是开放 的,可以通过网络获取(/TrackBack.aspx?PostId=
Oracleä¸PHPå®ä¾å¼åMyers订åè·è¸ªç³»ç»
ããå ³äº PHP/Oracle å¼å模åå¦ä½å¨Myers Internet缩çåºç¨ç¨åºçå½å¨æçæ¡ä¾ç 究ãã
ãã对äºä¸»è¦ç±åºæ¶æ¬¾ä¸å¡æ¨¡å驱å¨çå ¬å¸èè¨ å ¶æ ¸å¿çä¸å¡åè½ä¹ä¸æ¯è¾å ¥ è·è¸ªåè®°å½è®¢å å¨è¿æ¹é¢æ¯è¾åºè²çå ¬å¸å¯ä»¥ä¼¸ç¼©å®ä»¬çæºæ 并æé«å®ä»¬çå©æ¶¦ èä¸ä¼éå°åºç¡æ¶æçéå¶ å½è®¢åå¤çå¾éº»ç¦ 容æåºéæä¸ä¸è´æ¶ å ¬å¸å°å 为ç´æ¥çææ¬åéä½çç产æçèèåç»æµä¸çæ失
ãã
ããå¨æçå ¬å¸ Myers Internet æ ¸å¿çä¸å¡äºé¡¹å´ç»ç建ç«å®¢æ·åºç¡ 为 Myers æä¾æç»çæå¡å¹¶å¸®å©å®å¨å®¢æ·é®é¢åºç°æ¶è§£å³é®é¢ å ¬å¸æ£ä½¿ç¨è®¸å¤ä¸åçç³»ç»æ¥å¤ç订åè¾å ¥åå®æ½å¨æçå个æ¹é¢ è¿äºç³»ç»æ¢ä¸æ¯å½¼æ¤éæç ä¹ä¸å ·å¤ç¡®ä¿æ¯ä¸ä»½è®¢åé½å¾å°æ£ç¡®è®°å¸çæºå¶
ãã
ãã Myers 订åè·è¸ªç³»ç» (MOTS)
ããå°±åå ¶å®è®¸å¤æºæä¸æ · Myers ä»ä¸ä¸ªå°åå ¬å¸æé¿ä¸ºä¸ä¸ªä¸åå ¬å¸ åæ¶å¨å®çæ´ä¸ªæé¿æé´å§ç»ä¿çäºç¸åçè¿ç¨åç³»ç» å¤§å¤æ°è¿äºè¿ç¨å¨å»ºç«æ¶ ææçäºå¡å¤çé½éè¿çµåé®ä»¶ 纸质记å½åå®å°æ访æ¥äººå·¥å°å®æ æ å¹´å Myers çä¸ä¸ªå·¥ç¨å¸å©ç¨ Allaire ç Cold Fusion åä¸ä¸ª Microsoft SQL Server æ°æ®åºç»è£ äºä¸ä¸ªç³»ç»æ¥è·è¸ªè®¢åå®æ½ è¿ä¸ªç³»ç»ç§°ä¸º MOTS ï¼Myers 订åè·è¸ªç³»ç»ï¼ å®å 许éå®åå¸ç®ç®¡çé¨é¨è¾å ¥è®¢å ç¶åç±æ¯æ å·¥ç¨ è®¾è®¡ ä¿¡æ¯ç³»ç»åä¼è®¡é¨é¨å®æ½è¿äºè®¢å è½ç¶è¿ä¸ªç³»ç»æ¯ååè¿è¿çéè¦çä¸æ¥ ä½å®ä»ç¶çæ许å¤äººå·¥çæ¥éª¤ 并ä¸æ²¡æåä»»ä½å ¶å®çä¸å¡ç³»ç»éæå¨ä¸èµ·
ãã
ãã大æ¦å¨åä¸æ¶é´ è¿å建äºä¸ä¸ªç³»ç» å¨è¿ä¸ªç³»ç»ä¸å®¢æ·åéå®ä»£è¡¨å¯ä»¥å¨çº¿è®¢è´ Myers ç½ç«ç产å è¿ä¸ªç³»ç»å¯ä»¥å建æ°ç Web ç«ç¹ 并计ç®æä¾ç Web ç«ç¹ç¨åºå çå®è£ åéå¤æ§è´¹ç¨çæ»å ç¶åå®åéçµåé®ä»¶ç»å个é¨é¨ å个é¨é¨å¯ä»¥å°è®¢åè¾å ¥å° MOTS ä¸ å¹¶å¨å¸ç®ç®¡çç³»ç»ä¸å建记å¸ä¿¡æ¯
ãã
ãã ä½ç³»ç»æéç¢
ããè¿ç§ç±»åçä½ç³»ç»æ饱åå ç§ç³»ç»é®é¢ä¹è¦ å¨ Myers è¾ææ¾çé®é¢ä¹ä¸å æ¬å¯å¨è®¢åè·è¸ªæéç人工æ°æ®è¾å ¥ 以åä½ä¸ºè¿ç§äººå·¥è¿ç¨çç»æè产ççé误 å¦ä¸ä¸ªé®é¢æ¯å ¬å¸ä¸ç订åè¾å ¥ 订åè·è¸ªåè®°å¸ç³»ç»ä¹é´çè±è 订å丢失 ä¿¡æ¯éæ¼åå ¶å¯¼è´çé误
ãã
ããå¦ä¸ä¸ªä» å¶èåºç°çé®é¢æ¯ MOTS ç³»ç»æ¬èº«æå å¨çç¼ºé· ç±äºç¼å MOTS çæ¹å¼ å¯ä»¥è¾å ¥æ²¡æé¨é¨åé ä¿¡æ¯æè 丢失äºé¨é¨åé ä¿¡æ¯ç订å å½è¿ç§æ åµåçæ¶ è®¢åæç»å°å¨ç³»ç»ä¸ä¸¢å¤± å½è®¢åä¸¢å¤±æ¶ åç¡® åæ¶çè®°å¸å°±æ´é¾å®ç°äº
ãã
ããéçä¸å¡çæé¿ ä½ç³»ç»æä¸ç缺é·åå¾è¶æ¥è¶ææ¾ å¹¶ä¸éç客æ·å订åæ°éçå¢å 丢失åé误è¾å ¥ç订ååºç°çé¢çè¶æ¥è¶é« ä»èç»å ¬å¸æ¶å ¥å¸¦æ¥äºé¾äºä¼°éçå½±å æ¤å¤ 人工è¾å ¥çæ°æ®çæ°é导è´äºå»¶è¿åå¤çæçä½ä¸
ãã
ããç±äºå¨å®æ½æºæå 对æ¶å ¥çå½±åå 大åæçéä½ å¾ææ¾å¿ é¡»è¦æä¸ä¸ªæ¿æ¢ç³»ç»æ¥å°ä¸åèç³»èµ·æ¥ å¹¶æé«æçåéä½é误ç æ§ç³»ç»å¾ç¤ºå¦ä¸
ãã
ãã
ãã
ãã
ãã
å¾ æ§çç³»ç»ä½ç³»ç»æãã
ãã该å¾æ¾ç¤ºäºéè¦äººå·¥æ°æ®è¾å ¥çææåºå ç±äºè¿äºç³»ç»é½ä¸æ¯éæç æ以æ°æ®ä¸¢å¤±æ失ççå¯è½æ§é常大 å ¨å±éæ±é©¬ä¸åå¾ææ¾èµ·æ¥
ãã
ãã订åç³»ç»éè¦ç´æ¥åå®æ½è·è¸ªç³»ç»èç³»èµ·æ¥ è¯¥ç³»ç»éè¦å®å ¨ä¿æ¤æ¥é²æ¢è®¢åå¨æªç»å¤çä¹åè±ç¦»ç³»ç» éè¦ä¿æç²¾ç¡®æ§ ä»¥ç¡®ä¿åç¡®çè®°å¸åæ£ç¡®ç订åå®æ½ ç³»ç»éè¦ä½¿å é¨ææ¬æå°å æ以 è¦è¾¾å°é£ä¸ªç®ç éè¦å¿«éå°åå»ºç³»ç» ä½ç³»ç»å¿ é¡»æ¥æå®æ´çåè½
ãã
ããè½ç¶ä¸ä¸ªå¥½ç订åè¾å ¥åè·è¸ªç³»ç»å¯ä»¥å¸®å©éä½ææ¬ ä½å®æ¬èº«å¹¶ä¸åé æ¶å ¥
ãã
ãã æ·±å ¥ç»æ
ããå¨å¼å§æ¨¡å¼è®¾è®¡ä¹å éè¦è§£å³ä¸äºåºæ¬çä½ç³»ç»æé®é¢ 第ä¸ä¸ªåºå±çææ¯éæ±æ¯ç³»ç»å¿ é¡»å¯é ç½® ä¸æ éé¢å¤çç¼ç æ¬è´¨ä¸ è¿æå³çéè¦æå·¥ä½æµåµå ¥å°æ°æ®åºä¸ èä¸æ¯ç¨è§£é/å¤ç代ç æ¥è¿è¡ç¡¬ç¼ç ç¬¬äº æ°æ®åºéè¦å å«è¶³å¤çä¿¡æ¯ ä»¥ä¾¿è½å¤è¡¨ç°è®¢åè¾å ¥çé¢ç主è¦ï¼åå¯æ´æ¹ï¼çæ¹é¢ä»¥åå®æ½å¤ç
ãã
ããå¨åªå解å³ä¸è¿°é®é¢çè¿ç¨ä¸ 该系ç»éæ¸éåäºä¸¤ä¸ªé¨å â 订åè¾å ¥å订åè·è¸ª 并å¨ä¸¤è ä¹é´æä¾äºæç¡®å®ä¹çèç³» 订åè¾å ¥ç³»ç»éè¦ç¥éå¦ä½ç¨åç¡®ç产å代ç ææ£åå®ä»·æ¡æ¬¾æ¥è¡¨ç¤ºè®¢å 订åå®æ½ç³»ç»éè¦ç¥éå¦ä½è·è¸ªåç§ç±»åçä»»å¡ ç¸å ³çä½ä¸åå个é¨é¨ 以å¤çåè®°å½æ¯ä»½è®¢å æå éè¦å®æåå¯é¢æµå°æ订å转åæå®æ½ä½ä¸ ä¸å¾æ¾ç¤ºäºç®ååå¨çæ°ç³»ç»çç»æ
ãã
ãã
ããã
ãã
ãã
å¾ æ°çç³»ç»ä½ç³»ç»æãã
ãã该å¾æ¾ç¤ºäºéåæ°ç订åç³»ç»çææä¿¡æ¯è·¯å¾ æ°ç订åç³»ç»ä½äºå端çé¨æ·ç®¡çç«ç¹ ææçåå§æ°æ®è¾å ¥é½ä» ä¸æ¬¡æ§å®æ 并ä¸åªéè¦æ¯ä¸ªå°ç»å¨å¤ççå个é¶æ®µéªè¯æ°æ® éè¿å¼å ¥ä»è®¢åç³»ç»å°å¸ç®ç®¡çç³»ç»çèªå¨æ°æ®ä¼ è¾ è³å ³éè¦çæ°æ®ä¼ è¾çå¦ä¸ä¸ªä¸»è¦çé¢åä¹å为èªå¨å
ãã ä¾èµ PHP
ããå¨çº¯ææ¯çå±é¢ä¸ æ©æå³å®ä½¿ç¨ PHP ä½ä¸ºä¸»è¦çå¼åè¯è¨å Oracle ä½ä¸ºç³»ç»çæ°æ®ä¿¡æ¯åº è¿æå 个主è¦çåå é¦å Myers ç°æçå端é¨æ·å ä¹å®å ¨æ¯ç¨ PHP æ ¹æ®ä¸ä¸ªç°æç Oracle æ°æ®åºç¼åç è¿æ¶é¤äºä¸ä¸ªäº§çä¸å ¼å®¹æ§çæ½å¨æ¥æº è¿è¿æå³çè¦å建è¿ä¸ªæ°çç³»ç» Myers å¯ä»¥å©ç¨èªèº«çè½å è¿äºè½åå建äºç°æçå端é¨æ·
ãã
ããç¬¬äº å®éªæµè¯æ¾ç¤º ä¸å ¶å®å¼åè¯è¨ç¸æ¯ PHP æä¾äºä¸ä¸ªæ¯è¾é«çæ§è½æ°´å¹³ å 为 PHP æ¯ä½ä¸ºä¸ä¸ªå¨æå è½½çèµæåºé©»çå¨ Apache æå¡å¨å é¨ç æ以æ¯ä¸æ¬¡ä¸ç³»ç»è¿æ¥é½æ éé¢å¤çå¯å¨æ¶é´ æ¤å¤ PHP ä¼åçæ¹åï¼éè¿ Zend 项ç®ï¼æå³çå¨ä»£ç å é¨æ§è¡çä¸è¬æä½ä¸ä¼ææ¾åæ ¢ æå 为 PHP ç¼åç OCI æ¥å£æ¨¡åæ¯ç¨ C 代ç ç¼è¯åä¼åç è¿ä½¿å¾è®¿é® Oracle æ°æ®åºé常é«æ
ãã
ããç¬¬ä¸ æ们äºè§£å°å 为 PHP 代ç å°å ¶èªèº«åµå ¥å°äº HTML ç¯å¢ä¸ æ以对äºè®¾è®¡äººååç¼ç¨äººåèè¨ å建åä½ç¨æ·æ¥å£åè½ä»£ç åå¾æ´å èªç¶ è½ç¶æåè¿ä¸ªç¹æ§å ¶å®çæå¡å¨ç«¯èæ¬è¯è¨ä¹å ·å¤ ä½ Myers åç° PHP æ´ä¸å¯è½å¸¦æ¥å¼å人åå设计人åä¹é´çå²çª æ¤å¤ PHP çè¯æ³åæä¾ç代ç åºæå³çå®å¯ä»¥åå®éè¦åçææäºæ
ãã
ããæå å°ææ代ç åµå ¥å° HTML 代ç ä¸çå¦ä¸ä¸ªå¥½å¤æ¯ ä» éè¦å¯¹æ åææ¬æ件è¿è¡ä¿®æ¹æ§å¶å°±å¯ä»¥æ§å¶æºä»£ç æä»¬ç¨ CVS ä½ä¸ºå®çæ åä¿®æ¹æ§å¶ç³»ç» å 为 PHP 代ç ä¸ä¸å®è¦ç¨æä¸ç§æ¹å¼è¿è¡ç¼è¯ æ以å建系ç»çä¸æ¬¡ ç¼è¯ ä» æ¶åå°ä»ä¿¡æ¯åºä¸æ£ç´¢ææ¬æºä»£ç æ件 ç¶åæå®ä»¬æ¾å° web æå¡å¨ä¸ è¿æå³çæ们å¯ä»¥ä½¿ç¨ CVS ä¸çæ§å¶æºå¶ä¸ºå®çæµè¯åç产ç¯å¢åå¸å¢éç bug è¡¥ä¸ èæ éå建å¤æçç¼è¯ç³»ç»
ãã
ãã 设计模å¼æ¥æ¯æå¯éæ°é ç½®æ§
ããä¸é¢çåºæ¬æ¨¡å¼ç¤ºæå¾æ¾ç¤ºäºè®¢åç³»ç»æ¯å¦ä½æ建ç 两ç§ä¸»è¦ç模å¼é½å为åå表åäºå¡è¡¨ æ 论ä½æ¶å½ä¸å¡æ åµåçååæ¶ åå表é½å 许éæ°é ç½®ç³»ç» èæ ééæ°ç¼ç äºå¡è¡¨å å«å®é 客æ·è®¢åç订å详æ åä½ä¸è¯¦æ
ãã
ãã
ããã
ãã
å¾ åºæ¬æ¨¡å¼ç¤ºæå¾ãã
ãã
ãã
å¾ åºæ¬æ¨¡å¼ç¤ºæå¾ãã
ããè¿äºæ¨¡å¼ç¤ºæå¾çèµ·æ¥å¾å¤æ å½ç¶ å®ä»¬çç¡®å¾å¤æ ä¸è¿ å¦ææå®ä»¬åå¼ ä½¿å¾åªåºç°åå表ï¼ä»¥ _def ç»æçè¡¨ï¼ é£ä¹è¯¥ä½ç³»ç»æçåºæ¬ç»æå°±åå¾å¾æ¸ æ¥äº 订åç±è¡ç»ç»æ è¿äºè¡ç»å æ¬è¯¦ç»ä¿¡æ¯ 订åè¡æ两è 订åè¡å¯ä»¥éæå°å建ä½ä¸ ä½ä¸ç±ä¸ä¸ªä»»å¡åºåç»æ 并ä¸å å«å æ¡è¯¦ç»ä¿¡æ¯ å¿ éè¦ä¸ºåç§ä»»å¡è¾å ¥è¿äºè¯¦ç»ä¿¡æ¯ ä»»å¡åºç°å¨ä¸åçéåä¸ è¿äºéåå¯ä»¥ç±ä¸åé¨é¨çç¹å®ç¨æ·è¿è¡è®¿é®
ãã
ãã为äºæ£éªç³»ç» çç¥æ¯åé¶æ®µå°è®¢åç³»ç»ååå ç³»ç»è¦æ£éªç第ä¸é¨åæ¯å®åç¬ä»è®¢ååå表ä¸å建ä¸ä»½æ¸ æ¥ç订åçè½å ä¸æ¦å®æäºæåç模å¼å®ä¹ 订åçæå¨å°±æ¯åå½¢åçç³»ç»ç第ä¸ä¸ªå¯è§é¨å
ãã
ãã为æ建åé ç½®è¿ä¸ªç³»ç»èç»æçå°ç»é¤å«åè¿ä¸ªç³»ç»å½±åæ大çå个é¨é¨çç»çä¹å¤ è¿å æ¬ä¸ä¸ªå¼å人å å¼å人åçåå·¥åå«ä¸º æ建é ç½®åè½ æ¾ç¤ºåè½åäºå¡å¤çåè½ å¨æ´ä¸ªæåçæ建å¨æå é¨é¨ç»çæä¾äºå ³äºçé¢ï¼è¿äºçé¢ä½¿ç¨æ·è½å¤è¾å ¥åå¤çæ°æ®ï¼ç±»åçæä»·å¼çåé¦
ãã å©ç¨ PHP ç»å¶ç¨æ·çé¢
ããè¦åååçåå§è®¢åæ¯åºæ¬ç Web ç«ç¹è®¢å å¨ webw/ ä¸æä¾ å¾å°ç订åæ¯ç±ä¸ä¸ªå¼å人åç¨ PHP å¨ä¸å¤©çæ¶é´å å建ç å¦æ订åååå®ä¹ â ä¾é åªå¨æ°æ®åºåæµè§å¨ä¹é´çä¸å± PHP 代ç å°±è½å¤å®å ¨å®ä¹è®¢åè¾å ¥çå¤è§åè¡ä¸º é£ä¹å¨æ°æ®åºè®¾è®¡ä¸éè¦ä¸å®ç¨åº¦çæè¡· ä¸ºæ¤ è¯¸å¦è®¢åè¡ç»ä¹ç±»çç»æå¿ é¡»æ¯æ两个ç¨é ( ) å¨è¾å ¥è¡¨åä¸æä¾å¯è§åçåºå 以使类似ç产åç»å¯ä»¥ç»å¶å¨ä¸èµ· ( ) ä»åè½ä¸å¯¹ç±»ä¼¼çåååç» æ¯å¦è¯´æäºä¸å®ææ£çåå æä¸ä¸ªé项å表 ä»ä¸å¯ä»¥ä½åºå¯ä¸çéæ©
ãã
ããå 为 PHP æ¯å¼åè¯è¨ æ以ååç»å»ºç¸å½å¿«é ä»èå¯ä»¥å¿«éå°å®æ模å¼æéçä¿®æ¹å¹¶ä¸ä¸ºè¡¨åçæå¨éæ°ç¼ç ï¼ä¸åä¸åï¼ æ¤å¤ å 为模å¼æ¯èèäºç»å¶çç¨æ·çé¢è设计ç æ以å½å¨ååæ建è¿ç¨ä¸åºç°æ°çå¯è§åéæ±æ¶ å¯ä»¥å®¹æå°è¿è¡æ¨¡å¼ä¿®æ¹åæ¹ç¼ çæç表åå¤è§ä¸ä¸å¾ç¸ä¼¼
ãã
ãã
ããã
å¾ è®¢åçæãã
ãã å建ä¸ä¸ªåè½å®å ¨çç³»ç»
lishixinzhi/Article/program/Oracle//