home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre2.z / postgre2 / doc / papers / future_trends. < prev    next >
Encoding:
Text File  |  1992-08-27  |  62.1 KB  |  1,479 lines

  1. .nr tp 12
  2. .nr sp 12
  3. .nr pp 11
  4. .nr fp 10
  5. .sz \n(pp
  6. .fo ''%''
  7. .(l C
  8. .sz \n(sp
  9. .b
  10. FUTURE TRENDS IN DATA BASE SYSTEMS
  11. .sz \n(pp
  12. .sp 3
  13. .i
  14. Michael Stonebraker
  15. .sp
  16. Department of Electrical Engineering
  17. and Computer Sciences
  18. University of California
  19. Berkeley, CA 94720
  20. .sp
  21. .r
  22. .)l
  23. .sp 2
  24. .ce
  25. .uh Abstract
  26. .pp
  27. This paper discusses the likely evolution of commercial
  28. data managers
  29. over the next several years.  
  30. Topics to be covered include:
  31. .(l
  32. Why SQL has become an intergalactic standard.
  33. Who will benefit from SQL standardization.
  34. Why the current SQL standard has no chance of lasting.
  35. Why all data base systems will be distributed soon.
  36. What new technologies are likely to be commercialized.
  37. Why vendor independence may be achievable.
  38. .)l
  39. The objective of this paper is to present the author's vision of
  40. the future.  As with all papers of this sort, this vision is
  41. likely to be controversial.  Moreover, the reader will detect
  42. many of the author's biases and is advised to react
  43. with the appropriate discounting.
  44. .sh 1  "INTRODUCTION"
  45. .pp
  46. This paper is written from the perspective of a researcher who
  47. has had some opportunities to observe the commercial marketplace
  48. over the last several years.  From this exposure 
  49. I would like to comment on some of the current trends in this
  50. marketplace.  In addition, I would also like to
  51. speculate on some of the likely trends 
  52. in the marketplace over the next several years.
  53. .pp
  54. Due to the position of IBM, the importance of SQL in this
  55. evolution cannot be discounted.
  56. Others have pointed out the
  57. numerous serious flaws in SQL [DATE85].  Consequently, this paper
  58. will not discuss the technical problems in the language; rather,
  59. it will focus on the impact of SQL standardization.  It will
  60. briefly discuss why the standard came about.  However, more
  61. importantly, it will make a case that very few organizations
  62. will benefit directly from the standardization effort.
  63. Consequently, considerable
  64. effort is being spent to construct a standard, and organizations
  65. may not reap the benefits which they anticipate.
  66. .pp
  67. Then, the paper will turn to the current collection of prototype data base
  68. systems that are being constructed in research labs around the
  69. world.  In particular, the characteristics 
  70. that make these systems noticeably better than current
  71. commercial systems are identified.  Unless some dramatic slowdown
  72. in technology transfer takes place, these ideas will quickly
  73. move from prototypes into commercial systems.  The paper
  74. then argues that this movement of new features will
  75. spell the doom of a standardized version
  76. of SQL.
  77. .pp
  78. The paper then considers 
  79. important technological trends.  The most significant one
  80. appears to be distributed data bases, and
  81. the paper turns to this phenomenon and explains why
  82. all commercial systems are likely to become distributed data managers.
  83. It also comments on what important problems remain to be solved
  84. to facilitate ``industrial strength'' distributed data base systems.
  85. .pp
  86. In addition, I will comment on other technological and research
  87. trends which are likely to be significant in future data base
  88. managers.  These comments are in the areas of data base machines, high
  89. transaction rate systems, main memory data base systems, and
  90. new storage devices.
  91. .pp
  92. Lastly, the paper will address a very serious problem which
  93. most users of data base systems struggle with.  Namely,
  94. they are constrained to coping with ``the sins of the past,'' 
  95. namely a large amount of application code
  96. written in COBOL or other third generation languages
  97. which accesses previous generation
  98. data managers (such as IMS and other ``tired technology'' systems
  99. as well as ``home-brew'' data managers).
  100. This accumulated baggage from the past is usually an impediment to
  101. taking advantage of future hardware and software possibilities.
  102. Consequently, the paper closes with a step-by-step procedure
  103. by which any user can migrate over a period of years into
  104. an environment where he is not constrained to the iron
  105. of any particular
  106. hardware vendor.  
  107. At the end of this paper, I will revisit the issue of standardization
  108. in light of the proposed migration path and indicate what sort
  109. of standardization activity might assist this process.
  110. .sh 1  "WHY SQL"
  111. .pp
  112. About 1984 the tom-toms started beating very loudly for SQL.  
  113. The message was conveyed first by hardware vendors (iron mongers) in search of
  114. a data manager.  In brief the message said ``IBM will make a big deal
  115. of DB 2 and SQL.  I want to be compatible with IBM.''  A similar
  116. message was conveyed by so-called value-added resellers (VARS) who 
  117. said ``I want 
  118. application code that I write to run both on your data manager
  119. and on DB 2''.  
  120. Discussions with VARS or iron mongers concerning 
  121. .b exactly
  122. what they meant by 
  123. SQL and exactly what they wanted in terms of compatibility usually
  124. evoked 
  125. an answer of ``I don't know''.  Hence the early tom-toms were being
  126. beaten by people who were not exactly sure of what they wanted.
  127. .pp
  128. Later, the tom-tom pounding was picked up by representatives of
  129. large users of data base services.  Usually, the message they
  130. delivered was:
  131.  
  132. .ll -4
  133. .in +4
  134. ``I need to run my applications on IBM iron and
  135. on the iron of vendors X, Y, and Z.  I plan to move to DB 2
  136. as my IBM system and I want to ensure that the DB 2 applications
  137. I write can be moved to the iron of these other vendors.  SQL
  138. is the mechanism that will allow me to achieve this objective.''
  139. .in -4
  140. .ll +4
  141.  
  142. The vendors of commercial data managers are not stupid.  They listen
  143. to the tom-toms and react appropriately.  Consequently, all
  144. vendors of data base systems have put in place
  145. plans to support SQL.
  146. Moreover, all other query languages (e.g. QUEL, Datatrieve, etc.),
  147. regardless of
  148. their intellectual appeal, will become ``sunset''
  149. interfaces, i.e. they are likely to slowly fade away and 
  150. become a thing of the
  151. past.  I wish to make two other points in a bit more detail.
  152. .pp
  153. First, there is less interest in standardized SQL outside
  154. the USA.  In fact, offshore DBMS users seem 
  155. .b much
  156. more inclined to use fourth generation languages and thereby are
  157. less sensitive to the SQL issue.  This point is further discussed in
  158. the next section.
  159. .pp
  160. A second point is that data base system vendors were 
  161. immediately divided into two camps; those
  162. that already had SQL and those that had to spend a large number
  163. of man-years to retrofit SQL into their systems.  Clearly, this
  164. presented a significant advantage to vendors in the first category, and
  165. helped reshape the competitive positions of various DBMS suppliers.
  166. In addition, one interesting measure of vendor responsiveness is the
  167. date of SQL introduction by vendors in category 2.  Responsive
  168. vendors had SQL in 1986, others followed at later times.
  169. .sh 1  "WHO WILL BENEFIT FROM STANDARD SQL"
  170. .pp
  171. We turn first to a definition of three possible levels of SQL
  172. standardization that might make sense and indicate the level
  173. at which ANSI activity has taken place.  Then, we consider
  174. the classes of users who might benefit from the current ANSI
  175. standardization.
  176. .sh 2  "Levels of Standardization"
  177. .pp
  178. There are three possible ways of interpreting SQL:
  179. .(l
  180. 1) SQL, the data definition language
  181. 2) SQL, the query language
  182. 3) SQL, the embedding in a host language
  183. .)l
  184. Using the first interpretation, one would standardize 
  185. CREATE, DROP, ALTER and any other commands
  186. that involve storage management and schema creation or modification.
  187. This portion of SQL is used by data base administrators (DBAs)
  188. and standardization of SQL in this area might benefit this class
  189. of persons.
  190. .pp
  191. Using the second interpretation, one would standardize SQL, the query
  192. language.  This would entail adding SELECT, UPDATE, INSERT, and DELETE
  193. to the list of standard commands.  In this way an end user of standard SQL 
  194. could expect his SQL commands to run on any DBMS supporting
  195. the standard.
  196. .pp
  197. The third interpretation would standardize SQL as it is executed from a 
  198. host language.  This interface includes the DECLARE CURSOR, OPEN CURSOR,
  199. FETCH, UPDATE, and CLOSE CURSOR commands.  In this way, a programmer
  200. could expect his host language program to work across multiple
  201. DBMSs that adhered to the standard.
  202. .pp
  203. Loosely speaking we can call these three levels:
  204. .(l
  205. level 1:  the DBA level
  206. level 2:  the end user level
  207. level 3:  the programmer level
  208. .)l
  209. .pp
  210. It should be clearly noted that the ongoing ANSI standardization
  211. effort is at level 3.  However, 
  212. vendors often mean something else by standard SQL.  
  213. For example, Sybase has chosen only to implement level 2 SQL, while
  214. INGRES, Oracle and DB 2 all implement level 3.
  215. Consequently, the purchaser of a data base system
  216. should carefully inquire as to what ``SQL support''
  217. really means when he is contemplating an SQL-based data manager. 
  218. .pp
  219. The last point to note is that level 3 ANSI SQL, DB 2 and SQL/DS
  220. are 
  221. .b all
  222. slightly different versions of SQL.
  223. Hence, the concept ``standard SQL'' must be carefully
  224. tempered to reflect the fact that 
  225. all level 3 SQL systems are different in at least minor ways.
  226. This corresponds closely to the current UNIX marketplace where the
  227. UNIXes offered by various vendors also differ 
  228. in minor ways.
  229. .sh 2  "Who Will Benefit From SQL Standardization"
  230. .sh 3  "Introduction"
  231. .pp
  232. As mentioned earlier, ANSI has standardized a level 3 SQL interface.
  233. Such
  234. standardization might be of benefit to:
  235. .(l
  236. data base administrators 
  237. end users
  238. application programmers
  239. vendors of 4th generation languages
  240. vendors of distributed data base systems
  241. .)l
  242. In the next several subsections we indicate which of these groups
  243. are likely to benefit from SQL standardization.
  244. .sh 3  "Data Base Administrators"
  245. .pp
  246. Clearly, a level 3 standard includes a level 1 standard as a subset.
  247. Consequently, a DBA who garners experience with schema definition
  248. on one data manager will be able to leverage this experience
  249. when designing data bases for a second DBMS.  Hence, a DBA should
  250. benefit from the ANSI standardization effort.  However, there are
  251. several caveats that must be noted.
  252. .pp
  253. First, most relational DBMSs have nearly the same collection of level
  254. 1 capabilities.  Hence, except for minor syntactic variations, level
  255. 1 was already effectively standardized 
  256. and there was no need for
  257. ANSI machinery in this area.
  258. .pp
  259. Second, differences exist in the storage of data
  260. dictionary information (the system catalogs).  
  261. A DBA 
  262. usually wishes to query the system
  263. catalogs to retrieve schema information.
  264. The current ANSI standard does not
  265. address this aspect, and each standard SQL system will have a 
  266. different representation for the dictionary.  
  267. Lastly, differences exist in the exact form of indexes
  268. and the view support facilities, which may influence the details
  269. of data base design.
  270. The current SQL standard does not address these differences, and they
  271. limit the leverage a DBA can expect.  
  272. .pp
  273. In summary, all current relational systems are standard in that they
  274. allow a user to construct and index relations consisting of
  275. named columns, usually with 
  276. nearly the same syntax.
  277. Consequently, data base design methodologies 
  278. appropriate to one system are nearly
  279. guaranteed to be appropriate for other systems.  
  280. At this level, current relational systems are 
  281. already standard, and nothing additional
  282. need be done.
  283. .pp
  284. There are also differences
  285. between the various systems in the areas of types of indices, storage
  286. of system catalogs, and view support.
  287. These aspects
  288. are not yet addressed by the ANSI standardization effort.
  289. As a result, I don't perceive that DBAs will benefit greatly from the
  290. ANSI effort, relative to what they will automatically gain 
  291. just by using relational systems.
  292. .sh 3  "End Users"
  293. .pp
  294. Since the ANSI standardization effort includes a level 2 SQL 
  295. facility as a subset, one could claim that end users will benefit
  296. because they can learn the SQL for one data base system and then be 
  297. able to transfer that knowledge to other standard data base systems.  However,
  298. this claim is seriously flawed.
  299. .pp
  300. First, end users are not going to use SQL.  Human factors studies
  301. and early usage of relational systems has shown clearly that end users
  302. will use customized interfaces appropriate to their application,
  303. usually of the ``fill in the form'' variety [ROWE85].  Such customized 
  304. interfaces will be written by programmers.  Consequently, end users
  305. will not benefit from SQL standardization because they won't use
  306. the language.
  307. .pp
  308. Even if end users 
  309. .b did
  310. use SQL, they are still subject to widely
  311. divergent presentation services.  For example EASE/SQL from
  312. ORACLE is very different from IBMs QMF, yet both allow
  313. a human to interactively construct and execute SQL commands.
  314. These differences will limit the leverage obtainable.
  315. .sh 3  "Programmers"
  316. .pp
  317. One could argue that programmers will benefit from standardization of
  318. the level 3 SQL interface because the programs that they write for
  319. one SQL system will run on another standard DBMS.  Moreover,
  320. once they learn the define-open-fetch cursor paradigm for one
  321. system, they will immediately be able to write programs for another
  322. DBMS.  This argument is very seriously flawed. 
  323. .pp
  324. First, this argument only applies to vendors who have chosen to
  325. support the level 3 standard.  It clearly does not apply to Sybase,
  326. and any other vendor who has chosen to implement
  327. the standard only at level 2.
  328. .pp
  329. Second, and perhaps of supreme importance, programmers are not 
  330. going to use the level 3 interface.  Most DBMS vendors 
  331. offer so-called fourth generation languages (4GLs).  Such products
  332. include Natural, Ramis, Adds-online, Ideal, INGRES/ABF, and SQL-forms.
  333. In general these products allow a programmer to:
  334. .(l
  335. define screens
  336. define operations to be executed as a result of user input into screens
  337. interactively call subsystems such as the report writer
  338. .)l
  339. Application programmers familiar both with 4GL products and with
  340. the level 3 style application programming interface report that there
  341. is a factor of 3-10 in leverage from using a 4GL.  
  342. Consequently, a client of DBMS technology is generally well
  343. advised to use a 4GL wherever possible
  344. and to foresake the level 3 programming
  345. interface.
  346. This
  347. advice is nearly universally true in business data processing
  348. applications.  In engineering applications, on the other hand, 4GLs 
  349. may be less advantageous.
  350. .pp
  351. In summary, application programmers are going to use
  352. 4GLs because of their software development leverage, and 
  353. not the level 3 SQL interface.  Moreover,
  354. every 4GL is totally unique, and there is no standardization
  355. in sight.  The only company who could drive a 4GL standardization
  356. activity would be IBM.  However, most data base professionals
  357. do not believe that IBM has a 4GL (not withstanding
  358. IBMs marketing of CSP as a 4GL).  Consequently, it will be several
  359. years before there is any possible standardization in this
  360. area.  
  361. .pp
  362. On the other hand, suppose a user decides 
  363. .b not
  364. to use a 4GL because he is concerned about portability or
  365. alleged poor performance
  366. in older products.  His applications
  367. .b still
  368. require screen definition facilities, report specifications, and
  369. graph specifications.  These facilities are unique to each
  370. vendor and not addressed in any way in the SQL standard.  To move
  371. from one standard DBMS to another, one must relearn the facilities in
  372. each of these areas.  As a result, only perhaps 10-20 percent of
  373. the total specification system is covered by ANSI SQL, and the
  374. remainder must be relearned for each system.  To avoid this
  375. retraining, a user must either write and port his own facilities in
  376. these areas, an obviously distasteful strategy, or 
  377. he must depend on some specific vendor to provide a standard
  378. collection of facilities on all platforms important to him.  
  379. SQL is clearly of no assistance in this dimension.
  380. .sh 3  "4GL Vendors"
  381. .pp
  382. One could argue that vendors of 4GL products will benefit
  383. from standardization because they will be able to easily
  384. move their products onto a variety of different data
  385. managers.  Although this argument has merits, 
  386. it is also somewhat flawed.
  387. .pp
  388. First, as noted before there is no standard for information in the
  389. system catalogs.  All 4GLs must read and write
  390. information in the dictionary, and this will be code unique
  391. to each target DBMS.  
  392. Second,
  393. I have asked a variety of 4GL users which target DBMSs
  394. are of greatest interest 
  395. to them.  They typically
  396. respond
  397. with the following three priority requests:
  398. .(l
  399. 1) IMS
  400. 2) DB 2
  401. 3) some ``home-brew'' data manager
  402. .)l
  403. To satisfy these requests, a 4GL vendor
  404. must develop complete custom
  405. interfaces for systems 1 and 3.  Only the interface for
  406. system 2
  407. would be assisted by standardization.  
  408. Third, most DBMS vendors have (or are developing) capabilities which
  409. superset the ANSI standard.  The reasons for this are discussed at
  410. length in the next section.  A 4GL vendor who wishes to interface
  411. to such an extended DBMS has two choices.  First, he can restrain his
  412. use to the subset which is standard.  Consequently, there will 
  413. be underlying DBMS capabilities which he does not exploit, and he will
  414. be at a
  415. relative disadvantage compared to 4GLs (such as the one from the
  416. DBMS vendor in question) which take full advantage
  417. of underlying facilities.
  418. The second choice is to do non standard extensions for each target
  419. DBMS.
  420. Both choices are unattractive.
  421. Lastly, any 4GL that is marketed by a hardware vendor is unlikely
  422. to take advantage of any opportunity for portability provided by SQL because 
  423. such a vendor will likely resist providing a migration path for
  424. applications off of his particular hardware.
  425. .pp
  426. Hence, standardization on SQL clearly helps a 4GL vendor who
  427. wishes to make his code portable.  However, not all of them will wish to,
  428. and there is substantial
  429. effort in the areas of system catalogs, non-standard
  430. extensions and coupling to non SQL data bases 
  431. which is required to make this portability occur.
  432. .sh 3  "Vendors of Heterogeneous Distributed DBMSs"
  433. .pp
  434. One could argue that distributed data base systems should
  435. have so-called ``open architectures'' and be able to
  436. manage data that is stored in local data managers
  437. written by various vendors.  Hence, vendors of open architecture
  438. products might benefit from SQL standardization, since foreign
  439. local data managers will be easier to interface to.  
  440. .pp
  441. Basically, a distributed DBMS vendor sees the world in exactly the same way
  442. as a vendor of a 4GL.  Hence, the above section applies exactly to this
  443. class of user.
  444. .sh 3  "Summary"
  445. .pp
  446. We can summarize the possible groups who might benefit from
  447. standardization of SQL as follows:
  448. .(l
  449. DBAs        This group will benefit from the fact that all relational 
  450.         systems use essentially the same data definition language
  451.         definition language, regardless of the query
  452.         language supported.
  453.  
  454. end users    This group will not use SQL and will be unaffected by
  455.         standardization.  
  456.  
  457. programmers    This group will primarily use 4GLs and consequently will be
  458.         unaffected by standardization.
  459.  
  460. 4GL vendors    This group may benefit from standardization if they choose to
  461.         try to interface to a variety of data managers. However, they
  462.         still have a lot of work to do, and some of them will resist
  463.         exploiting this portability.
  464.  
  465. Distributed     They are in the same position as 4GL vendors.
  466. DBMS vendors
  467. .)l
  468. .pp
  469. One draws the unmistakable conclusion that the large amount of effort
  470. that is being poured into SQL standardization may 
  471. .b not 
  472. pay
  473. handsome dividends.  
  474. A user of DBMS technology will only benefit if he chooses 4GL and
  475. distributed DBMS products from vendors committed to open architectures.
  476. He will then benefit indirectly from the efforts of these vendors to make their
  477. products run on a variety of SQL engines.
  478. .pp
  479. However, the situation is much worse than
  480. has been portrayed so far because standard SQL, as currently
  481. defined, stands 
  482. .b no
  483. .b chance
  484. of lasting more than a few 
  485. years.  The next section shows why SQL will not ``stick''.
  486. .sh 1  "WHY STANDARD SQL IS DOOMED"
  487. .sh 2  "Introduction"
  488. .pp
  489. All relational DBMSs were designed to solve the needs of
  490. business data processing applications.  Specifically, they were
  491. designed to rectify the disadvantages of earlier hierarchical and 
  492. network data base systems.  Most DBMS professionals
  493. agree that they have succeeded at this task admirably.
  494. However, equally
  495. well understood are the needs of other users 
  496. of DBMS technology in the areas of spatial data, CAD 
  497. data, documents, etc.  There is a renaissance of research
  498. activity building ``next generation prototypes''
  499. which attempt to rectify the drawbacks of current relational systems.  
  500. Consequently, one could say 
  501. that there are three generations of systems:
  502. .(l
  503. generation 1:  Hierarchical and Network Systems
  504. generation 2:  Relational Systems
  505. generation 3:  Post-relational Systems
  506. .)l
  507. .pp
  508. The following research prototypes are all examples of prototype
  509. post-relational systems:
  510. .(l
  511. EXODUS [CARE86]
  512. GEM  [TSUR84]
  513. IRIS [FISH87]
  514. NF2 [DADA86]
  515. ORION [BANE87]
  516. POSTGRES [STON86a]
  517. STARBURST [LIND87]
  518. .)l
  519. Although they are exploiting various ideas,
  520. one can make the following observation:
  521.  
  522. .in +4
  523. .ll -4
  524. Essentially all ideas that are being exploited by the above prototype
  525. systems can be
  526. added to current commercial relational data base systems by
  527. extending or reworking their capabilities.  
  528. .in -4
  529. .ll +4
  530.  
  531. Hence, it is obvious that aggressive vendors will quickly extend
  532. their current SQL engines with relational versions of the successful
  533. capabilities of these prototypes.  In this way, vendors will create
  534. systems that are 
  535. substantial supersets of SQL.
  536. Since each vendor will do unique extensions,
  537. they will all be incompatible.
  538. Moreover, IBM will be the slowest
  539. to provide extensions to DB 2.  
  540. .pp
  541. These extensions will solve 
  542. problems that are so important to large classes of users that they will
  543. gladly use the extended capabilities.  In this way, any application that a user
  544. writes for vendor A's system will not run without substantial maintenance
  545. on vendor B's system and vica-versa.  This will ensure that application
  546. portability will not be achieved through SQL.
  547. .pp
  548. The rest of this section indicates two areas in which seductive
  549. next generation capabilities are expected.
  550. .sh 2  "Management of Knowledge Bases"
  551. .pp
  552. I wish to discuss
  553. knowledge bases first with regard to expert systems and then with regard
  554. to conventional business data processing.  I conclude this
  555. subsection with a discussion of why it is essential that knowledge
  556. management become a data base service.
  557. .pp
  558. Expert systems typically use 
  559. .b rules
  560. to embody the knowledge of an expert, and I will use interchangeably
  561. the concept of a knowledge base and a rule base.
  562. One important application area of expert systems is in
  563. surveillance systems.  The object to be monitored
  564. could be a physical object, such as manufacturing line, an oil
  565. refinery, or a stock market.  
  566. It might also be an area of real estate, such as
  567. a battlefield.  In either case, an expert system is desired which watches
  568. the state of the object and alerts a human
  569. if ``abnormal'' events occur.  
  570. Such surveillance applications fundamentally
  571. involve the data base for the monitored object.
  572. Moreover, abnormal events are typically defined by a rule base,
  573. developed by consultation with human experts.  Hence, such applications
  574. require a large data base (the monitored object) and a large set
  575. of rules (the events to watch for).
  576. .pp
  577. In conventional business data processing applications there is also
  578. substantial use for a rule base.  For example, consider the processing
  579. of purchase orders.  The following rules might well apply in a
  580. typical company:
  581. .(l
  582. All POs over $100 must be signed by a manager
  583. All POs over $1000 must be signed by the president
  584. All POs for computer equipment must be signed by the MIS director
  585. All POs for consultants must have an analysis of need attached
  586. .)l
  587. Similar rule systems
  588. control allocation of office furniture (e.g, only vice presidents
  589. can have wood desks), commission plans for salespersons (e.g, commission
  590. is paid only on non discounted POs), vacation accrual, etc.
  591. .pp
  592. The possible techniques available to support such composite
  593. rule and data base applications are:
  594. .(l
  595. 1) Put the rules in an application program and the data in a data base.
  596. 2) Put the rules and the data in an expert system shell. 
  597. 3) Put the rules in an expert system shell and the data in a data base.
  598. 4) Put both the rules and the data in a composite data/rule base.
  599. .)l
  600. I now argue that only option 4 makes any long term technical sense.
  601. Option 1 is widely used by business data processing applications
  602. to implement rules systems such as our purchase order example.  The
  603. disadvantage of this approach is that the rules are buried in
  604. the application program and are thereby difficult to understand and
  605. tedious to change as business conditions evolve.  Moreover, if a
  606. new program is written to interact with the data base, it must be coded 
  607. to enforce the rules in a fashion consistent with the
  608. previously written application programs.  The possibility for
  609. error is consequently high.  In summary, when rules
  610. are embedded in an application
  611. program, they are hard to code, hard to change, and hard to enforce
  612. in a consistent fashion.
  613. .pp
  614. The second alternative is to put both the data and the rules in an
  615. expert system environment such as Prolog, OPS5, KEE, ART, 
  616. or S1.  The problem with this approach is that these systems, without exception,
  617. assume that facts available to their rule engines are resident in main memory.
  618. It is simply not practical to put a large data base into virtual memory.
  619. Even if this were possible, such a data base would have no transaction
  620. support and would not be sharable by multiple users.  In short, current expert
  621. system shells do not include data base support, and option 2 is simply
  622. infeasible.
  623. .pp
  624. Option 3 is advocated by the vendors of
  625. expert system shells and is termed 
  626. .b loose
  627. .b coupling.
  628. In this approach rules are stored in main memory in the shell
  629. environment which contains an inference engine.  Whenever
  630. necessary, this program will run queries against a data base 
  631. to gather any needed extra information.  Hence, rules are
  632. stored in a rule manager and data in a separate data manager.  A layer
  633. of ``glue'' is then used to couple these two subsystems together.
  634. An example of this architecture is KEE/Connection from Intellicorp.
  635. .pp
  636. Unfortunately loose coupling will fail miserably on a wide variety
  637. of problems, and a simple example will illustrate the 
  638. situation.  Suppose one wanted to
  639. monitor a single data item in a data base, i.e,
  640. whenever the data item changes in the data base, it should change
  641. on the screen of a monitoring human.
  642. Many investment banking and
  643. brokerage houses are building automated trading systems that are 
  644. much more sophisticated versions of this simplistic example.  
  645. .pp
  646. The expert system can run a query to
  647. fetch the data item in question.  However, it will become quickly
  648. out of date and must be fetched anew.  This repeated querying of the
  649. data base will needlessly consume resources and will always result
  650. in the screen being some amount of time out of date.  Loose
  651. coupling will fail badly in environments where the expert system
  652. cannot fetch a small, static portion of the data base on which to
  653. operate.  Most problems I can think of fail this
  654. ``litmus test''.
  655. .pp
  656. The fourth alternative is to have a single data/rule system to manage
  657. both rules and data, i.e. to
  658. implement
  659. .b tight
  660. .b coupling.
  661. Such a system must be 
  662. .b active 
  663. in that it must perform asynchronous operations
  664. to enforce the rules.  This is in contrast to current 
  665. commercial DBMS 
  666. which are 
  667. .b passive
  668. in that they respond to user's requests but have no concept
  669. of independent action.
  670. .pp
  671. An active system can tag the data item being watched
  672. by our simplistic application and send a message to an 
  673. application program whenever the data item changes.  This will
  674. be an efficient solution to our monitoring example.  
  675. Such a data manager will automatically support sharing 
  676. of rules, the ability to add and drop rules on the fly, and
  677. the ability to query the rule set.  
  678. .pp
  679. Tight coupling can be achieved in a variety of ways.  Extensions to
  680. the view definition facility can be utilized as well as
  681. extensions to the SQL language directly [STON87].
  682. In the case that the resulting queries are recursive,
  683. processing algorithms have been investigated in 
  684. [ULLM85, IOAN87, ROSE86, BANC86].  
  685. .pp
  686. Without a doubt many of these ideas will lead to commercial 
  687. implementations, and I expect that many will be successful.
  688. The bottom line is that rules and inference will almost
  689. certainly move into data base systems 
  690. over the next few years.  It appears feasible to
  691. support this feature by supersetting the query language, and this will
  692. certainly be the method of choice for SQL vendors.
  693. .sh 2  "Object Management"
  694. .pp
  695. If I hear the phrase ``everything is an object'' once more, I think
  696. I will scream.  Peter Buneman expressed this frustration
  697. most concisely in [BUNE86]: ``Object-oriented is a semantically overloaded 
  698. term''.
  699. Moreover, in a panel discussion on Object-Oriented Data Bases
  700. (OODBs) at VLDB/87, six panelists 
  701. managed to disagree completely on exactly what an
  702. OODB might be.  
  703. .pp
  704. In any case, there are a class of applications which must manage
  705. data that does not fit the standard business data processing world  
  706. where objects are character strings, integers, floating
  707. point numbers and maybe date, time, money and packed decimal.
  708. Non-business environments
  709. must manage data consisting of documents, three dimensional spatial
  710. objects, bitmaps corresponding to pictures, icons for graphical
  711. objects, vectors of observations, arrays of scientific data, complex
  712. numbers, etc.
  713. .pp
  714. In general these applications are badly served by current data 
  715. base systems, regardless of what data model is
  716. supported.  This point is discussed in detail in [STON83], and
  717. we present here only a very simple example.  Suppose a user
  718. wishes to store the layout of Manhattan , i.e. a data set consisting
  719. of two-dimensional rectangular boxes.  Obviously, a box can be
  720. represented by the coordinates of its two corner
  721. points (X1,Y1) and (X2, Y2).  Consequently, a reasonable schema for
  722. this data is to construct a BOX relation as follows:
  723. .(l
  724. BOX (id, X1, Y1, X2, Y2)
  725. .)l
  726. .pp
  727. The simplist possible query in this environment is to place a template
  728. over this spatial data base and ask for all boxes that are visible in
  729. the viewing region.  If this region corresponds to the unit square, i.e.
  730. the box from (0,0) to (1,1), then the most efficient representation of
  731. the above query in SQL is:
  732. .(l
  733. .bp
  734. select *
  735. from BOX
  736. where X1 <= 1 and
  737.          X2 >= 0 and
  738.          Y1 <= 1 and
  739.          Y2 >= 0
  740. .)l
  741. Moreover, it generally takes a few tries before a skilled SQL user
  742. reaches this representation.
  743. Consequently, even 
  744. trivial queries are hard to program.  In addition, no matter what
  745. collection of B-tree or hash indexes are constructed on any key or
  746. collections of keys, this query will require the run-time execution
  747. engine to examine, on the average, half of the index records in 
  748. some index.  If there are 1,000,000 boxes, 
  749. 500,000 index records
  750. will be inspected by an average query.  This will ensure 
  751. bad performance even on a very large machine.
  752. .pp
  753. In summary the box application is poorly served on
  754. existing relational DBMSs because simple queries are difficult
  755. to construct in SQL and they execute with bad
  756. performance.  
  757. To support the box  environment, a relational DBMS must: 
  758.  
  759. .ll -4
  760. .in +4
  761. 1) support ``box'' as a data type.  In this way, the BOX relation can
  762. have two fields as follows:
  763. .(l
  764. BOX (id, description)
  765. .)l
  766.  
  767. 2) Support && as an SQL operator meaning ``overlaps''.  In this way, the
  768. query can be expressed as:
  769. .(l
  770. select *
  771. from BOX
  772. where description && ``(0,0), (1,1)''
  773. .)l
  774.  
  775. 3) Support a spatial access method such as R-trees [GUTM84] or 
  776. K-D-B trees [ROBI81].  This will ensure that the above extended SQL
  777. command can be efficiently processed.
  778. .ll +4
  779. .in -4
  780.  
  781. .pp
  782. In addition, examples can be easily constructed which emphasize the
  783. need for multiple inheritance of data and operators, efficient storage
  784. of very large objects, objects which are composed of other objects, etc.
  785. Proposals addressing various 
  786. of these ideas are contained in [STON86b, CARE86, BANE87, FISH87, LIND87],
  787. and these should move into commercial systems in the near future.
  788. The aggressive
  789. vendors will be include such capabilities as extensions to SQL.
  790. .sh 2  "Summary"
  791. .pp
  792. ANSI is currently preparing a draft of SQL 2, its proposed future
  793. extension to the current SQL standard.  However, it contains 
  794. .b no
  795. capabilities in the areas of
  796. knowledge management and object management.  Since these
  797. capabilities are perceived to be 
  798. .b extremely
  799. useful in a wide variety of situations, 
  800. aggressive vendors will move ahead in these areas with
  801. vendor-specific capabilities.
  802. As a result SQL 2 will contain only a subset of available
  803. commercial functions.  In a time of rapid technological change,
  804. the standard will substantially lag the industry leaders and will
  805. be doomed to instantaneous
  806. technological
  807. obsolescence.    
  808. .pp
  809. To clearly see the reason for this dismal state of affairs
  810. one need only look at the philosophy of standardization
  811. that is being pursued.  There are two successful
  812. models, the
  813. .b resolution
  814. model and the
  815. .b beacon
  816. model.  In the beacon model
  817. one assembles the vendors of existing similar but not quite
  818. compatible products in a committee with interested users
  819. and charges them with
  820. resolving their differences by a political negotiation.  This model
  821. of political resolution by a large committee works well when:
  822. .(l
  823. 1) there are many implementations of the object being standardized
  824. 2) dramatic changes are not happening in the object being standardized
  825. 3) resolution of differences is a political problem
  826. .)l
  827. The ongoing standardization efforts in Cobol and Fortran clearly
  828. fit into the resolution model.
  829. .pp
  830. On the other hand, Ada is a good example of the beacon model.  Here
  831. a new standard was invented with no commercial implementations 
  832. preceding it.  In this case, DOD wisely generated the standard by
  833. charging several 
  834. small teams with designing languages and then picked the best one.  In
  835. this case, design of the standard was accomplished by a small team of
  836. very gifted language designers decoupled from any political
  837. process.
  838. The beacon model works very well when:
  839. .(l
  840. 1) there are no implementations of the object being standardized
  841. 2) dramatic changes are contemplated
  842. 3) a small team of technical experts does the actual design
  843. .)l
  844. .pp
  845. We can now examine SQL standardization in this light.  Clearly,
  846. the previous activity (which we call SQL-1) is an example of the
  847. resolution model.  Moreover, the process has converged a collection
  848. of slightly incompatible versions of SQL to a political resolution.
  849. However, SQL-2 is a proposal to extend the language onto virgin 
  850. turf, i.e. to include capabilities which no vendors currently have 
  851. implementations for.  Moreover, relational DBMSs are an area
  852. where dramatic technical change is happening.  Hence, now capabilities
  853. would be best worked on by a small team of experts, and not by a large 
  854. group of politicians.
  855. .pp
  856. In summary, there are two defendable choices open to ANSI at the current
  857. time.  First, they could follow the resolution model.  In this case, they
  858. have accomplished their initial objective of coalescing the initial
  859. versions of SQL.  They should now adjourn the committee for a couple
  860. of years while the aggressive vendors do substantial supersets.  Later
  861. they should reconvene the committee to resolve the differences by
  862. political negotiation.  On the other hand, if they choose the beacon
  863. model, they should subcontract two or more small teams of experts to
  864. do proposals and then pick the best one.  The problem with ANSI SQL
  865. is that they did SQL-1 according to the resolution model.  Now with
  866. no change in structure, they are trying to switch to the beacon model.  As
  867. a result, I
  868. feel they are guaranteed to fail.
  869. .sh 1  "DISTRIBUTED DATA BASES"
  870. .sh 2  "Why Distributed DBMSs"
  871. .pp
  872. There is considerable confusion in the marketplace concerning
  873. the definition of a distributed DBMS.  At the very least it must
  874. provide a
  875. ``seamless'' interface to data that is stored on multiple
  876. computer systems.  For example, if EMP is stored on a machine in London
  877. and DEPT is placed on a machine in Hong Kong, then it must be possible
  878. to join these relations without explicitly logging on to both
  879. sites and assembling needed data manually at some processing location.
  880. Instead one would want the notion of ``location transparency'' whereby
  881. one could simply state the following SQL:
  882. .(l
  883. select name 
  884. from EMP
  885. where dept in
  886.        select dname
  887.        from DEPT 
  888.        where floor = 1
  889. .)l
  890. There are several vendors who are
  891. marketing software systems as distributed data bases which
  892. cannot run the above query but instead
  893. provide only remote access to data at a single site or
  894. provide only a micro-to-mainframe connection.
  895. Such systems are
  896. .b NOT
  897. distributed DBMSs
  898. and the marketing hype on the part of such vendors should
  899. be immediately discounted.
  900. .pp
  901. Moreover, location transparency can
  902. be provided either
  903. by:
  904. .(l
  905. a network file system (NFS) or
  906. a distributed DBMS
  907. .)l
  908. A user should 
  909. .b very
  910. .b carefully
  911. check which technique is being using by any vendor
  912. who claims to sell a distributed data
  913. base system.  Consider a user in San Francisco who is interacting
  914. with the above EMP and DEPT relations in London and Hong Kong. To
  915. find the names of employees on the first floor using an NFS solution,
  916. both relations will be paged over
  917. the network and the join accomplished in San Francisco.  Using
  918. a distributed DBMS a heuristic optimizer will choose an intelligent
  919. accessing strategy and probably choose to move the
  920. the first-floor departments to London, perform the join there, and
  921. then move the
  922. end result to San Francisco.  
  923. This strategy will generally be orders of magnitude faster than
  924. an NFS strategy.  As Bill Joy once said:
  925. .(l
  926. think remote procedures not remote data
  927. .)l
  928. Put differently, one should send the queries to the data and not
  929. bring the data to the query.
  930. .pp
  931. A lazy vendor can quickly implement an NFS-based distributed data
  932. manager that will offer bad performance.  
  933. Distributed DBMSs with heuristic optimizers are considerably more work,
  934. but offer much better performance.  A client of distributed data
  935. managers must develop the sophistication to be able to distinguish the
  936. lazy vendors from the serious ones.
  937. .pp
  938. Distributed data base systems will find universal acceptance because they
  939. address all of the following situations.
  940. First, most large organizations are geographically decentralized and have
  941. multiple computer systems at multiple locations.  It is usually
  942. impractical to have a single ``intergalactic'' DBA to control the world-wide
  943. data resources of a company.  Rather one wants to have a DBA at each site,
  944. and then construct a distributed data base to allow users to access
  945. the company resource.  
  946. .pp
  947. Second, in high transaction rate environments one must assemble
  948. a large computing resource.  While it is 
  949. certainly acceptable to buy a large mainframe computer (e.g. an IBM Sierra
  950. class machine), it will be 
  951. nearly 2 orders of magnitude cheaper to assemble a network of smaller machines
  952. and run a distributed data base system.  Tandem has shown that
  953. transaction processing on this architecture expands linearly with
  954. the number of processors.  In most environments, a very efficient
  955. transaction processing engine can be assembled by networking small
  956. machines and running a distributed DBMS.  The ultimate version of
  957. this configuration is
  958. a network of personal computers.
  959. .pp
  960. Third, suppose one wants to offload data base cycles from a
  961. large mainframe onto a back-end machine, as typically advised by data
  962. base machine companies including 
  963. Britton-Lee and Teradata.  
  964. If so, it will make sense to support the possibility of more
  965. than one back-end CPU, and a distributed DBMS is required.  In
  966. fact, Teradata includes one on their machine already.
  967. .pp
  968. Fourth, as will be discussed presently, I expect more and more users
  969. to have workstations on their desks, replacing standard terminals.
  970. I also expect most workstations will have attached 
  971. disks to ensure good I/O performance.  In such an environment, one will have
  972. a large number of data bases on workstations that may be of a personal
  973. nature (such as appointment calendars, phone directories, mail lists, etc.)
  974. Even such personal data bases require a distributed DBMS, because
  975. such tasks as electronically scheduling as meeting require them.
  976. .pp
  977. Lastly, virtually all users must live with the ``sins of the past'',
  978. i.e. data currently implemented in a multitude of previous generation 
  979. systems.  It is impossible to
  980. rewrite all applications at once, and a distributed DBMS which supports
  981. foreign local data managers allows a graceful transition
  982. into a future architecture by allowing old applications for obsolete
  983. data bases to coexist with new applications written for a
  984. current generation DBMSs.  
  985. This point is further elaborated in Section 7.
  986. .pp
  987. I expect everybody to want a distributed data base system for one or
  988. more of these five reasons.  Hence, I believe that all
  989. DBMS vendors will implement distributed DBMSs and
  990. it will be hard to find
  991. vendors who offer only a single site DBMS in a few years.
  992. .sh 2  "Research Issues in Distributed DBMSs"
  993. .pp
  994. There has been a mountain of research on algorithms to support
  995. distributed data bases in the areas of query processing [SELI80],
  996. concurrency control [BERN81], crash recovery [SKEE82] and update
  997. of multiple copies [DAVI85].  In this section, I indicate two
  998. important problems which require further investigation.
  999. .pp
  1000. First, users are contemplating 
  1001. .b very
  1002. .b large
  1003. distributed data base systems consisting of hundreds or even thousands 
  1004. of nodes.  In a large network, it becomes unreasonable to assume that each
  1005. relation has a unique name.  Moreover, having the query optimizer inspect
  1006. all possible processing sites as candidate locations to perform a distributed
  1007. join will result in unreasonably long optimizer running times.
  1008. In short, the problems of ``scale'' in distributed data bases
  1009. merit investigation by the research
  1010. community.
  1011. .pp
  1012. Second, current techniques for updating multiple copies of
  1013. objects require additional investigation.  Consider the simple
  1014. case of a second copy of a person's checking account 
  1015. at a remote location.  When that person cashes a check, both copies
  1016. must be updated to ensure consistency in case of failure.  Hence,
  1017. at least two round trip messages must be paid to the remote location 
  1018. to perform this reliably.  If the remote account is in Hong Kong, one can expect
  1019. to wait an unreasonable amount of time for this message traffic to
  1020. occur.  Hence, there will be no sub-second response times to updates
  1021. of a replicated object.  To a user of DBMS services, this delay
  1022. is unreasonable, and algorithms that address this issue efficiently
  1023. must be developed.  Either a lesser guarantee than consistency must
  1024. be considered, or alternatively algorithms that work only on special
  1025. case updates (e.g, ones guaranteed to be commutative) must be
  1026. investigated.  The work reported in [KUMA88] is a step in this direction. 
  1027. .sh 1  "OTHER TECHNOLOGIES"
  1028. .pp
  1029. In this section I discuss a collection of other interesting trends
  1030. that may be significant in the future.
  1031. .sh 2  "Data Base Machines"
  1032. .pp
  1033. It appears that the conventional iron mongers are advancing
  1034. the performance of single chip CPUs at nearly a factor of two 
  1035. per year, and that this improvement will continue for at
  1036. least the next couple of years.  Bill Joy quotes single chip
  1037. CPU performance as:
  1038. .(l
  1039. MIPS = 2 ** (year - 1984)
  1040. .)l
  1041. Therefore, in 1990 we can expect 64 MIPS on a chip.  Not 
  1042. only is this prognosis
  1043. likely to happen, but also, machines built from the resulting
  1044. chips are guaranteed to be extremely cheap, probably on the order of
  1045. $1K - $4K per MIP.  Moreover, nothing stops aggressive 
  1046. system integrators from coupling such CPUs into shared memory multiprocessors
  1047. to achieve very powerful multiprocessor machines.  Earlier examples of
  1048. this approach include the DEC 62xx series of machines and the Sequent 
  1049. Symetry.
  1050. In light of these advances in general purpose
  1051. machines, it seems unlikely that a hardware data base machine 
  1052. vendor can develop cost effective CPUs.  Because such a vendor makes
  1053. machines by the 10s, he is at a significant disadvantage
  1054. against a conventional iron monger who makes machines by the 10,000s.
  1055. It is generally agreed that a factor of 3, at a bare minimum,
  1056. is required in the
  1057. custom architecture before a custom machine is feasible.  Personally,
  1058. I don't see where to get such a number.  As a result, I see hardware
  1059. data base machines as a difficult business in the coming years.
  1060. .sh 2  "High Transaction Rate Systems"
  1061. .pp
  1062. It is clear that relational data base systems will be used for
  1063. production applications which generally consist of
  1064. repetitive transactions, each of which is a collection
  1065. of single-record SQL commands.  
  1066. The goal is to do 100, 500, even 1000 such transactions per
  1067. second.  Most relational systems are getting increasingly nimble
  1068. and should continue to do so over the next couple of years.  Moreover,
  1069. all commercial systems have essentially the same architecture,
  1070. so that any tactic
  1071. used by one vendor to increase performance can be quickly
  1072. copied by other vendors.  Hence, the 
  1073. ``performance wars'' tend to be a ``leapfroging'' sort of affair, and the
  1074. current winner is usually the vendor who 
  1075. came out with a new system most recently.  Moreover,
  1076. all systems are expected to converge to essentially the 
  1077. same ultimate performance.
  1078. .pp
  1079. The bottom line is that 
  1080. .b all
  1081. vendors are addressing high transaction rate environment 
  1082. because that is where a significant number of customer applications reside.
  1083. All will offer similar performance in this marketplace.  The ability
  1084. of any specific vendor to claim this arena as 
  1085. his ``turf'' is guaranteed to fail.
  1086. .sh 2  "Main Memory Data Bases"
  1087. .pp
  1088. Not only are CPU prices per MIP plummeting, but also main memory
  1089. prices are in ``free fall''.  Prices are currently under $500
  1090. per megabyte in most environments where competition exists, and are
  1091. continuing to drop.  Moreover, the maximum amount of main memory 
  1092. that can be put on a machine is skyrocketing in a commensurate manner.
  1093. This increasingly allows a client of data base
  1094. services to contemplate a data base entirely (or mostly) resident in
  1095. main memory. 
  1096. Current DBMSs have been typically designed under the assumption that
  1097. all (or most) data is on disk.  As a result, they must 
  1098. be changed to efficiently 
  1099. handle very large buffer pools,
  1100. to implement hash-join processing strategies [SHAP86],
  1101. and to deal efficiently with log processing (which may be the only I/O 
  1102. which remains in this environment).  
  1103. .pp
  1104. The opportunity of
  1105. using
  1106. .b persistent
  1107. main memory is also enticing.  One idea would be for the memory system
  1108. to automatically keep the before and after image of any changed bits
  1109. as well as the transaction identifier of the transaction
  1110. making the change.  If the transaction gets aborted, the memory
  1111. system can automatically roll backwards.  Upon commit, the before 
  1112. image can either be discarded or spooled to a safe place to provide
  1113. an additional measure of security.  With error correcting codes and
  1114. alternate power 
  1115. used in the memory system, this will provide  
  1116. a highly reliable main memory transaction system.  My speculation
  1117. is that it is neither difficult nor expensive to design such a system.  
  1118. .pp
  1119. Such techniques will hopefully become part of commercial iron
  1120. in the not to distant future.
  1121. .sh 2  "New Storage Architectures"
  1122. .pp
  1123. Besides persistent main memory, there are some other ideas that may
  1124. prove appealing.  First, one could construct a high speed, write-only
  1125. device with arbitrary capacity.  Such an ``ideal logger'' could be 
  1126. constructed out of persistent main memory, an auxiliary processor and
  1127. a tape drive or optical disk device.  Additionally, the log 
  1128. can be substantially compressed 
  1129. during spooling.  The CPU cycles for such activity seem well worth the
  1130. benefit that appears possible.  
  1131. .pp
  1132. Optical disk drives have received considerable attention, and they may well
  1133. play an important part in future memory systems for data managers.
  1134. Lastly, the most intriguing idea concerns the availability of
  1135. very cheap 5 1/4'' and 3 1/2'' drives.  Rather than
  1136. using a smaller number of 14'' disks (such as the 3380), it seems plausible
  1137. to construct a large capacity disk system out of an larger number of
  1138. small drives.  It appears that such a disk system could offer the
  1139. possibility of a 
  1140. .b large
  1141. number of arms and modest (if any) higher cost per bit compared
  1142. to 3380 style technology.  A step in this direction direction is
  1143. the work reported in [PATT88].
  1144. Moreover, how to construct file systems for such devices
  1145. is an interesting area of research.  For instance, should one stripe
  1146. blocks from a single file across all the disks.  Alternately, should one
  1147. retain the sequential organization of most current file systems whereby
  1148. a single file is stored in large extents on a single drive.
  1149. .sh 1  "HOW TO ACHIEVE VENDOR INDEPENDENCE"
  1150. .pp
  1151. The current software and technological environment
  1152. may allow an astute client of data base services 
  1153. to achieve vendor independence.  What follows
  1154. is a step by step algorithm by which any user can achieve freedom
  1155. from his current hardware vendor.  Since the most common vendor
  1156. to which clients are firmly wedded is IBM, we use an IBM customer as an
  1157. example
  1158. and show in this section how that client can become vendor independent.
  1159. We assume that the hypothetical client begins with his data in an
  1160. IMS data base and his application programs running within CICS.
  1161. .sh 2  "Step 1:  Get to a Relational Environment"
  1162. .pp
  1163. The first step is for the client to
  1164. replace his data manager with a relational DBMS.
  1165. Many companies are already considering exactly this sort of
  1166. migration, and there are several strategies available to
  1167. accomplish this step.
  1168. In this subsection we discuss one possible approach.
  1169. Consider the purchase of a distributed data base
  1170. system that allows data in local data bases to be managed by a variety of
  1171. local data managers.  Such ``open architecture''
  1172. distributed data managers are available at least from
  1173. Relational Technology and Oracle and without doubt,
  1174. will soon be available from others.
  1175. Consequently, the example client should consider purchasing
  1176. a distributed DBMS that
  1177. manages local data within both IMS and the target relational data
  1178. manager.  With this software, he can recode his old application programs
  1179. one by one from IMS to his target relational DBMS.  At any point in
  1180. time, he has some old and some new programs.  The old ones
  1181. can be run directly against IMS, while the new ones can be run
  1182. through the distributed DBMS.  After the entire application has
  1183. been recoded to make SQL calls, he can discard the distributed 
  1184. DBM, 
  1185. move
  1186. the data from IMS to the target DBMS and
  1187. then run his programs directly against the target DBMS.
  1188. .pp
  1189. Hence, a client can obtain a distributed DBMS and then slowly migrate his
  1190. application and data bases from IMS 
  1191. to the target environment.  
  1192. This code and data conversion can be done at the client's leisure 
  1193. over a number
  1194. of years (or even decades).  At some point he will finish this step and
  1195. have all his data in a modern DBMS.
  1196. .sh 2  "Step 2:  Buy Workstations"
  1197. .pp
  1198. .pp
  1199. It is inevitable that all ``glass teletype'' terminals will be replaced by
  1200. workstations in the near future.  Hence, 3270-style terminals
  1201. are guaranteed to become antiques and will be replaced by new
  1202. devices which will be Vaxstation 3000, Sun 3, PC/RT, 
  1203. Apollo, Macintosh, or PS 2 style machines.
  1204. Clients will replace their glass teletypes with workstations for
  1205. two reasons:
  1206. .(l
  1207. 1) to get a better human interface 
  1208. 2) cost
  1209. .)l
  1210. It is obvious to everybody that bitmap-mouse-window environments
  1211. are much easier to use than 3270 style systems.  For example, a user
  1212. can have multiple windows on the screen and 
  1213. his application can take as many interrupts as needed
  1214. since a local CPU is being used.  There is no need for the
  1215. cumbersome ``type to the bottom of the screen and then hit enter'' interfaces
  1216. that are popular with 3270s.  Already, knowledge workers (e.g,
  1217. stock traders, engineers, computer programmers) are being given
  1218. workstations.  Later, data workers (e.g, clerks, secretaries, etc.)
  1219. will also get workstations.  The basic tradeoff is that a workstation
  1220. translates into some quantifiable improvement in
  1221. employee productivity.  The cost, of course, is the purchase and
  1222. maintenance of the
  1223. workstation.  This tradeoff will be made in favor of workstations for
  1224. high priced employees and not for lower paid ones.  Over time,
  1225. as workstations continue to fall in price,
  1226. it will be cost effective
  1227. to give one to virtually everybody.
  1228. .pp
  1229. The second reason to give employees a workstation is that it enables one to
  1230. move an application program from a mainframe (a 370 in our example)
  1231. which costs more than $100,000 per MIP 
  1232. to a workstation which costs perhaps $1000 per MIP.  The overall
  1233. cost savings can be staggering.
  1234. Hence, over the next decade I expect workstations to essentially
  1235. replace glass teletypes completely.
  1236. .pp
  1237. Whether one chooses to move to workstations for human interface reasons
  1238. or cost considerations does not matter.  To take advantage of
  1239. either, one must move application programs from a 370
  1240. to a workstation.  Moreover, the only sensible way to
  1241. do this is to rewrite them completely to change from a 
  1242. ``type to the bottom of the screen'' to a ``menu-mouse-bitmap-window''
  1243. style interface.  During this rewrite, one must also move the 
  1244. program from CICS to some other programming environment (e.g.
  1245. Unix, OS 2) This leads to step 3.
  1246. .sh 2  "Step 3: Rewrite Application Programs"
  1247. .pp
  1248. Whatever the reason chosen, clients must migrate application
  1249. programs from CICS to the workstation.  Of course, a client
  1250. can run a window on a workstation that is simply a 3270 
  1251. simulator connected to CICS.  In this way, a client can slowly migrate
  1252. his applications to the new environment while the old ones continue
  1253. to run in CICS through workstation simulation of a glass
  1254. teletype interface.   At some point, all CICS applications will have been
  1255. rewritten, and only a relational DBMS remains running on the
  1256. 370 machine.  Of course, this migration may take years (or even
  1257. decades).  However a persistent client can move at a rate
  1258. appropriate to his resources.  This will lead ultimately to step 4.
  1259. .sh 2  "Step 4: Move to a Server Philosophy"
  1260. .pp
  1261. At this point the example client has 
  1262. application programs running on a workstation
  1263. and a relational data base system running on a shared host.  These
  1264. machines communicate over some sort of networking system.  Moreover,
  1265. the applications send SQL commands over this network to the shared
  1266. host and receive answers or status back.  In this environment, one 
  1267. should move to
  1268. the following thinking:
  1269. .(l
  1270. workstations are application servers
  1271. shared hosts are SQL servers
  1272. .)l
  1273. Moreover, SQL servers should be thought of as a commodity product.
  1274. To the extent that a client remains within the standard SQL defined
  1275. by ANSI, it should be possible to replace an SQL
  1276. servers built by one vendor (in this case IBM) with 
  1277. an SQL server bought from another vendor (say DEC) or even
  1278. by a collection of servers running a distributed data base
  1279. system (say a network of Suns).  Vendor independence
  1280. has
  1281. been facilitated since it is now fairly easy to buy SQL cycles
  1282. from the vendor who offers the best package of price/performance/
  1283. reliability.  If the vendor of choice fails to remain on the 
  1284. performance curve compared to his competitors, there is 
  1285. little difficulty in
  1286. unhooking that vendor's machine and replacing it with one built by one
  1287. of his
  1288. competitors which offers superior cost effectiveness.
  1289. .pp
  1290. Similarly, one should think of workstations as application servers. 
  1291. If one is careful, one can write applications which run on a 
  1292. variety of workstations.
  1293. If the current vendor ceases to offer
  1294. price competitive iron, the client can simply replace his workstations
  1295. by those built by one of his competitors.  In this way
  1296. .b iron
  1297. .b independence
  1298. is achieved.
  1299. .sh 2  "Summary"
  1300. .pp
  1301. During these four steps, a client will choose at least the
  1302. following:
  1303. .(l
  1304. a relational DBMS
  1305. a workstation Operating System
  1306. a window manager
  1307. networking hardware and software
  1308. an application programming language
  1309. .)l
  1310. An IBM customer will, of course, be guided by his IBM salesman
  1311. to choose the following:
  1312. .(l
  1313. relational DBMS:  DB 2 plus the DBMS in the extended edition of OS 2
  1314. workstation OS:   OS 2
  1315. window manager:   IBM Presentation Manager
  1316. networking software: SNA
  1317. application programming language: COBOL (?)
  1318. .)l
  1319. In addition, he will be sold on the virtues of SAA as part of
  1320. his solution.  If the client moves in this direction,
  1321. he will achieve iron independence to at least some degree.  He
  1322. can buy workstations from any of the clone manufacturers and
  1323. can use SQL services that run on the various instantiations
  1324. of IBM iron (e.g, PS 2, AS 400, 370, etc.).  
  1325. .pp
  1326. However, the client
  1327. can also make an alternate collection of choices:
  1328. .(l
  1329. relational DBMS:  one from an independent vendor
  1330. workstation OS:   Unix
  1331. window manager:   X Window System
  1332. networking software: TCP/IP
  1333. application programming language: 4GL from an independent vendor
  1334. .)l
  1335. With these choices he can be assured of buying application
  1336. servers and data servers from at
  1337. least the following companies:  DEC, DG, IBM, HP, Sun, Apollo, 
  1338. ICL, Bull, Siemans, Sequent, Pyramid, Gould, and the clone
  1339. makers.
  1340. .pp
  1341. This section has pointed out a path by which one may
  1342. obtain iron independence.  Along this path, a collection of
  1343. options must be chosen.  These can be the ones suggested
  1344. by the salesperson of a particular hardware vendor
  1345. or the set that will maximize iron independence.
  1346. This choice can be made by
  1347. each client.
  1348. .sh 2  "Standards Revisited"
  1349. .pp
  1350. We close this paper with some comments on what can be done to
  1351. assist a user in achieving vendor independence.  Clearly, a
  1352. user can buy an open architecture distributed
  1353. data base system.  In this scenario the client will have available
  1354. the extended SQL implemented by that vendor.  Statements
  1355. in extended SQL will run on a local data base that is managed by the
  1356. local data manager provided by the vendor.  Standard SQL will
  1357. be executable on foreign local data managers.  Such distributed
  1358. data base software will provide a seamless interface that hides
  1359. data location and allows data to be moved at will as business conditions
  1360. change without impacting application programs.
  1361. .pp
  1362. A second possibility is that a user will remain within standard SQL
  1363. and build location information into his application programs.  In this
  1364. way, he will expect to send SQL commands onto a network for
  1365. remote processing by some server.
  1366. The server must accept the remote request and send back a reply.  To
  1367. facilitate
  1368. being able to replace one server by a different one, it is
  1369. .b crucial
  1370. that a standard format for communication of SQL commands and
  1371. the resulting responses over a network
  1372. be developed.  Standardization of remote data base access (RDA) is being 
  1373. pursued by ISO but appears not to be an important ANSI activity.
  1374. In my opinion, remote data base access will be 
  1375. more important
  1376. than local data base access from an application program.
  1377. I would encourage standards organizations to budget their resources
  1378. accordingly.
  1379.  
  1380. .ce
  1381. \fBREFERENCES\fP
  1382. .nr ii 10m
  1383. .ip [BANE87]
  1384. Banerjee, J. et. al., ``Semantics and Implementation of Schema Evolution
  1385. in Object-oriented Databases,'' Proc. 1987 ACM-SIGMOD Conference on 
  1386. Management of Data, San Francisco, Ca., May 1987.
  1387. .ip [BANC86]
  1388. Bancilhon, F. and Ramakrishnan, R., ``An Amateur's Introduction
  1389. to Recursive Query Processing Strategies,'' Proc. 1986 ACM-SIGMOD Conference
  1390. on Management of Data, Washington, D.C., May 1986.
  1391. .ip [BERN81]
  1392. Bernstein, P. and Goodman, N., ``Concurrency Control in Database Systems,''
  1393. Computing Surveys, June 1981.
  1394. .ip [BUNE86]
  1395. Buneman, P. and Atkinson, M., ``Inheritance and Persistence in Database
  1396. Programming Languages,'' Proc. 1986 ACM-SIGMOD Conference on Management
  1397. of Data, Washington, D.C., May 1986.
  1398. .ip [CARE86]
  1399. Carey, M., et. al., ``The Architecture
  1400. of the EXODUS Extensible DBMS,'' Proc. International Workshop on
  1401. Object-Oriented Database Systems, Pacific Grove, Ca., September 1986.
  1402. .ip [DADA86]
  1403. Dadams, P. et. al., ``A DBMS Prototype to Support NF2 Relations,'' Proc.
  1404. 1986 ACM-SIGMOD Conference on Management of Data, Washington, D.C., May 1986.
  1405. .ip [DATE85]
  1406. Date, C., ``A Critique of SQL,'' SIGMOD Record, January, 1985.
  1407. .ip [DAVI85]
  1408. Davidson, S. et. al., ``Consistency in Partitioned Networks,'' Computing
  1409. Surveys, Sept. 1985.
  1410. .ip [FISH87]
  1411. Fishman, D. et. al., ``Iris: An Object-Oriented Database Management System,''
  1412. ACM-TOOIS, January, 1987.
  1413. .ip [GUTM84]
  1414. Gutman, A., ``R-trees: A Dynamic Index Structure for Spatial Searching,''
  1415. Proc. 1984 ACM-SIGMOD Conference on Management of Data, Boston, Mass.
  1416. June 1984.
  1417. .ip [IOAN87]
  1418. Ioannidis, Y. and Wong, E., ``Query Optimization Through Simulated
  1419. Annealing,'' Proc. 1987 ACM-SIGMOD Conference on Management of Data,
  1420. San Francisco, Ca., May 1987.
  1421. .ip [KUMA88]
  1422. Kumar, A. and Stonebraker, M., ``Semantics Based Transaction Management
  1423. Techniques for Replicated Data,'' Proc. 1988 ACM-SIGMOD Conference
  1424. on Management of Data, Chicago, Il., June 1988.
  1425. .ip [LIND87]
  1426. Lindsay, B., ``A Data Management Extension Architecture,'' Proc. 1987
  1427. ACM-SIGMOD Conference on Management of Data, San Francisco, Ca., May 1987.
  1428. .ip [PATT88]
  1429. Patterson, D. et. al., ``A Case for Redundant 
  1430. Arrays of Inexpensive Disks (RAID),'' Proc. 1988 ACM-SIGMOD Conference
  1431. on Management of Data, Chicago, Il., June 1988.
  1432. .ip [ROBI81]
  1433. Robinson, J., ``The K-D-B Tree: A Search Structure for Large 
  1434. Multidimensional Indexes,'' Proc. 1981 ACM-SIGMOD Conference on
  1435. Management of Data, Ann Arbor, Mich., May 1981.
  1436. .ip [ROSE86]
  1437. Rosenthal, A. et. al., ``Traversal Recursion: A Practical
  1438. Approach to Supporting Recursive Applications,'' Proc. 1986 ACM-SIGMOD
  1439. Conference on Management of Data, Washington, D.C., May 1986. 
  1440. .ip [ROWE85]
  1441. Rowe, L., ``Fill-in-the-Form Programming,'' 
  1442. Proc. 1985 Very Large Data Base Conference, Stockholm, Sweden,
  1443. August 1985.
  1444. .ip [SELI80]
  1445. Selinger, P. and Adiba, M., ``Access Path Selection in a Distributed
  1446. Database Management System,'' PROC ICOD, Aberdeen, Scotland, July 1980.
  1447. .ip [SHAP86]
  1448. Shapiro, L., ``Join Processing in 
  1449. Database Systems with Large Main Memories,''
  1450. ACM-TODS, Sept. 1986.
  1451. .ip [SKEE82]
  1452. Skeen, D., ``Non-blocking Commit Protocols,'' Proc. 1982 ACM-SIGMOD 
  1453. Conference on Management of Data, 
  1454. Ann Arbor, Mich., May 1982.
  1455. .ip [STON83]
  1456. Stonebraker, M., et. al., ``Application of Abstract Data Types and Abstract
  1457. Indexes to CAD Data,'' Proc. Engineering Applications Stream of 1983 
  1458. Data Base Week, San Jose, Ca., May 1983.
  1459. .ip [STON86a]
  1460. Stonebraker, M. and Rowe, L., ``The Design of POSTGRES,'' Proc. 
  1461. 1986 ACM-SIGMOD
  1462. Conference on Management of Data, Washington, D.C., May 1986.
  1463. .ip [STON86b]
  1464. Stonebraker, M., ``Inclusion of New Types in Relational Data Base Systems,''
  1465. Proc. Second International Conference on Data Engineering, Los Angeles,
  1466. Ca., Feb. 1986.
  1467. .ip [STON87]
  1468. Stonebraker M. et. al., ``The Design of the POSTGRES Rules System,'' Proc.
  1469. 1987 IEEE Data Engineering Conference, Los Angeles, Ca., Feb. 1987.
  1470. .ip [TSUR84]
  1471. Tsur, S. and Zaniolo, C., ``An Implementation of GEM -- Supporting a Semantic
  1472. Data Model on a Relational Back-end,'' Proc. 1984 ACM-SIGMOD Conference
  1473. on Management of Data, Boston, Mass., June 1984.
  1474. .ip [ULLM85]
  1475. Ullman, J., ``Implementation of Logical Query Languages for Data Bases,''
  1476. Proceedings of the 1985 ACM-SIGMOD International Conference 
  1477. on Management of Data,
  1478. Austin, TX, May 1985.
  1479.