home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / database / 8832 < prev    next >
Encoding:
Internet Message Format  |  1993-01-05  |  4.5 KB

  1. Path: sparky!uunet!olivea!gossip.pyramid.com!pyramid!unify!atlantis!meh
  2. From: meh@atlantis.Unify.Com (Mark E. Hansen)
  3. Newsgroups: comp.databases
  4. Subject: Re: 500'000 records - who does best?
  5. Message-ID: <kf3a4w5@Unify.Com>
  6. Date: 5 Jan 93 19:10:13 GMT
  7. References: <18971@mindlink.bc.ca> <0t0avvy@Unify.Com> <brent.725766347@cc.gatech.edu> <0g3avp6@Unify.Com>
  8. Sender: meh@atlantis (Mark E. Hansen)
  9. Organization: Unify Corporation, Sacramento, CA, USA
  10. Lines: 103
  11.  
  12. In article <0g3avp6@Unify.Com>, jde@Unify.com (Jeff Evarts) writes:
  13. |> In article <brent.725766347@cc.gatech.edu>, brent@terminus.gatech.edu (Brent Laminack) writes:
  14. |> > 
  15. |> > >I believe that this thread started out as a "can anyone do this REASONABLY"
  16. |> > 
  17. |> > >UNIFY 2000 can handle this (500K rows @ 30K per row). If you have the disk space,
  18. |> > >we have the database. :-)
  19. |> > 
  20. |> > >Mischa is right... its not the users, it's the size of the database. The
  21. |> > >UNIFY 2000 database package can have individual table segments in the 16+Mb
  22. |> > >category, allowing over 500 rows per segment, so the table would only require
  23. |> > >10000 segments.
  24. |> > 
  25. |> > Is this the same Unify company that tells me to try to keep all tables
  26. |> > to 16 or fewer segments? After that performance is said to degrade? If
  27. |> > memory serves, 10000 >>> 16
  28.  
  29. Just a couple of nits:
  30.  
  31. First of all, the maximum segment size is 64 megabytes. Not 16 megabytes. 
  32. The number of rows per segment would obviously be determined by the row size.
  33.  
  34.  
  35. Additionally, the breaking point is 32 segments, not 16; and this is only 
  36. a concern on Sequential scans, and inserts. Not for locating existing data,
  37. as these should be using indexes of some sort, which will not require the 
  38. data base to search for the data through the segments.
  39.  
  40. The 32 comes from the number of segment pointers that will fit in a segment map 
  41. of one page (2k). If this has to increase, due to the number of segments that 
  42. you need in order to maintain your data, then it will handle that.
  43.  
  44. The segment map can grow to as large as 64mb. This will allow the addressing
  45. of a maximum of 1048576 segments/table.
  46.  
  47. This only becomes a serious performance problem when you have hundreds or
  48. thousands of segments. I've seen some tables with over 8 thousand segments
  49. when the segment size was only 2k. This is unreasonable. You should always try
  50. to size the segments so that your expected *full* table will fit within 32 
  51. segments.
  52.  
  53. If your table is large enough that it will overflow 32 64mb segments, then I 
  54. think you can afford a larger segment map :)
  55.  
  56.  
  57.  
  58. |> 
  59. |> Cute... but
  60. |> 
  61. |> Performance _can_ degrade by one _virtual_ read per row access IF:
  62. |> 
  63. |>     1. You have more than 16 segments in a table, AND
  64. |>     2. You are short on ram, AND
  65. |>     3. The row requested is not in a recently used segment.
  66. |> 
  67. |> On a system wanting to keep 1.5TB of data
  68. |> 
  69. |>     1. A lack of RAM is not likely.
  70. |>     2. Other latencies will overshadow the additional read.
  71. |> 
  72. |> So it should not be a problem.
  73. |> 
  74. |> > 
  75. |> > >You would still have plenty of room for indices and the rest.
  76. |> > 
  77. |> > >Performance is impossible to judge without getting your hands a little dirty.
  78. |> > >It depends on hardware, access patterns, indexing strategies, and a whole lot
  79. |> > >more, but in general UNIFY 2000 is very hard to beat in the performance area.
  80. |> > 
  81. |> > There are other considerations, however. Ask Unify to do an outer join.
  82. |> > They can't.
  83. |> 
  84. |> Hmmm. not _strictly_ true. There are many ways to do this in UNIFY, from within
  85. |> SQL and out. We do not have a DIRECT mechanism to do this because we try to be
  86. |> ANSI SQL compliant and ANSI SQL uses UNIONs to do what other database companies
  87. |> use outer joins to do. So although we do not have a nifty way to do this directly,
  88. |> you can get the job done (often more efficiently) by taking other routes.
  89. |> 
  90. |> > 
  91. |> > No brag, just facts.
  92. |> > 
  93. |> > Brent Laminack (brent@cc.gatech.edu)
  94. |> > 
  95. |> > 
  96. |> >                     
  97. |> >                     -Brent Laminack (brent@cc.gatech.edu)
  98. |> 
  99. |> Really, though. The base conversation was "can anyone handle this", and
  100. |> "can they handle it REASONABLY". The answer is still yes to both questions.
  101. |> 
  102. |> Disclaimer: I'm a techie, not a sales-ie
  103. |> 
  104. |> -Jeff Evarts
  105. |> --jde@unify.com
  106. |> ---#include <sys/disclaimer>
  107.  
  108. -- 
  109. Mark E. Hansen                                     internet: meh@Unify.Com
  110. Unify Corporation                           ...!{csusac,pyramid}!unify!meh
  111. 3901 Lennane Drive                                   voice: (916) 928-6234
  112. Sacramento, CA 95834-1922                              fax: (916) 928-6401
  113.  
  114.           ** If there is no solution, there is no problem **
  115.