|  | 
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ kdv wrote: > Теперь, *варианты сжатия ключей*, последовательно: > *1*. не хранить концевые пробелы для строк, или записывать кол-во > концевых пробелов. Для чисел - убирать "лишние" нули. > > *2*. префиксное сжатие следующего ключа на основании значения > предыдущего. Например, есть ключи "Иванов и "Иванова". При сжатии во > втором ключе мы напишем "6а" > > *3*. для одинаковых ключей вообще их не хранить, а формировать список > номеров записей для конкретного ключа. Например есть Это всё я бы не подразумевал под "сжатием данных". Это -- детский сад, приёмы, которые используют все более-менее современные СУБД. Это не интересно. Posted via ActualForum NNTP Server 1.4 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 13:59 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ MasterZivЭто всё я бы не подразумевал под "сжатием данных". Это -- детский сад, приёмы, которые используют все более-менее современные СУБД. Это не интересно. гм. а на мой взгляд "нефиксированный" размер записи - это уже сжатие, я результат привел. По поводу "все более-менее" - мы уже в курсе что Оракл как-то сжимает, но у него это по умолчанию отключено. Посмотрите у себя размер уникального индекса по integer. я дал пример для ФБ что сжатие примерно 0.64 (именно для уникального). Давайте сравним. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 14:05 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Yo.! не угадал, я скажу что конкретно фанатики ФБ могут отключить писанину лога и жить счастливо без него, почти также как они живут на ФБ. Вот только у Оракула вместе с логом отпадёт и версионность... Кому сдался Оракул без версионности?.. Писатели, блокирующие читателей это прошлый век. Posted via ActualForum NNTP Server 1.4 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 14:23 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Dimitry SibiryakovВот только у Оракула вместе с логом отпадёт и версионность...Подробнее, пжлста, что там и где у него отпадет? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 15:23 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Оракул ЛоговичПодробнее, пжлста, что там и где у него отпадет? Ё предлагает отключить undo log. А разве не в нём Оракул держит версии записей для выдачи запросам, заинтересованным в несвежих данных? И разве не из-за его переполнения вылазит "Snapshot is too old"?.. А?.. Posted via ActualForum NNTP Server 1.4 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 16:04 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Dimitry SibiryakovЁ предлагает отключить undo log. А разве не в нём Оракул держит версии  записей для выдачи запросам, заинтересованным в несвежих данных? И разве не из-за его переполнения вылазит "Snapshot is too old"?.. А?.. 1) В Oracle нет "undo log" как отдельного журнала в его обычном понимании Если где-то в документации этот термин и употребляется, то по слабоумию ее авторов 2) Отключить использование undo нельзя. Никак. 3) Версионность у Oracle не может отпасть. Никак. Никогда. Это не яйца ;-) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 16:18 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Оракул Логович 1) В Oracle нет "undo log" как отдельного журнала в его обычном понимании Если где-то в документации этот термин и употребляется, то по слабоумию ее авторов Хммм... Полез в свежий концепт и действительно - мои знания семёрки можно сливать в канализацию, поскольку Earlier releases of Oracle used rollback segments to store undo information. The information in a rollback segment was used during database recovery for generating read-consistent database information and for rolling back uncommitted transactions for users. Space management for these rollback segments was complex, and Oracle has deprecated that method. Теперь Оракул хранит версии в таком же тейблспейсе, как и данные. Что не меняет факта, что ему приходится записывать туда старые данные при update. Значит в моём сообщении "+лог" следует читать как "+undo tablespace". Что, впрочем, не проясняет того факта, что же именно Ё предлагал отключить. Posted via ActualForum NNTP Server 1.4 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 16:31 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Dimitry Sibiryakov Теперь Оракул хранит версии в таком же тейблспейсе, как и данные. Что не меняет факта, что ему приходится записывать туда старые данные при update. Значит в моём сообщении "+лог" следует читать как "+undo tablespace". Что, впрочем, не проясняет того факта, что же именно Ё предлагал отключить. в оракле есть один лог - REDO. а ваше сообщения боюсь не следует читать и в новой редакции, т.к. они становятся еще более бредовым, чем предыдущее. или вы на полном серьезе считаете, что снапшот ФБ абсолютно бесплатен ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 17:02 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Yo.! или вы на полном серьезе считаете, что снапшот ФБ абсолютно бесплатен ? Нет, но Оракулу его сжатие обходится дороже. Posted via ActualForum NNTP Server 1.4 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 17:27 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Dimitry Sibiryakov Нет, но Оракулу его сжатие обходится дороже. крокодил более зеленый чем длинный, пожалуй это самая здравая ваша мысль в ветке действительно сжатие блоков в оракле обходится дороже поддержки версионности ФБ. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 17:36 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Dimitry Sibiryakovмои знания семёрки можно сливать в канализациюОчень что-то я сомневаюсь в этих "знаниях семерки", ибо сегменты отката (rollback segments) существовали и в Oracle 7, и гораздо раньше :) Dimitry SibiryakovТеперь Оракул хранит версии в таком же тейблспейсе, как и данные.Он это делал и раньше, начиная с версии 4, 1984 год. Просто начиная с 9i альтернативой "управляемым вручную" rollback segments являются "управляемые автоматически" undo segments. По сути это практически одно и то же. То есть никогда Oracle данные undo не хранил ни в каких специальных журналах ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 18:23 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ 2 Dimitry Sibiryakov  Воздержитесь от опрометчивых заявлений. По теме топика - если что-то хорошо сжимается, то это повод подумать об дизайне базы, ибо нормализация суть компрессия (маленький ID взамен большой строки) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 18:33 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ SERG1257Воздержитесь от опрометчивых заявлений. SergSuper усы сбрил? cегменты отката (rollback segments) существовали и в Oracle 7, и гораздо раньше :) Правильно, существовали. И именно про это существование я помню. Но теперь они deprecated. Просто начиная с 9i альтернативой "управляемым вручную" rollback segments являются "управляемые автоматически" undo segments. Т.е. Concepts для 10g писал... как это Вы выразились... слабоумный автор, поскольку он упорно называет Ваши undo segments - Undo Tablespaces: ConceptsUndo tablespaces are special tablespaces used solely for storing undo information. Впрочем, как горшок ни назови, записывать в него старое содержимое записи при update Оракул не перестанет, и потому описанный мной выше сценарий остаётся в силе - Оракле производит три записи на диск там, где DBASE хватает одного. Posted via ActualForum NNTP Server 1.4 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 19:08 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Dimitry Sibiryakov Оракле производит три записи на диск там, где DBASE хватает одного. эт тонко подмечено, пол транзакции на оракле ну никак не записать. имхо фокс единственный кто не способен обеспечить атомарность транзакции. поэтому к примеру ФБ придется два раза модифицировать TIP, а потом еще за чужими старые версии строк подтирать, поэтому ФБ так проигрывает ораклу в и/о, не смотря на дефолтную компрессию. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 20:41 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Yo.!к примеру ФБ придется два раза модифицировать TIP, а потом еще за чужими старые версии строк подтиратьЁ выучило новое слово (TIP) ? Но, как всегда, не поняло что это и зачем :( Первое утверждение (о TIP) совершенно не верно (если речь всё ещё идёт о апдейте записи), ибо TIP модифицируется только при коммите. Второе (о подтирать чужие версии) тоже не соответствует действительности. Ибо на версии других записей никто не смотрит, а бекверсии обновляемой записи могут удаляться или сразу, или в фоне. Да, ещё, - удаление бекверсии версии записи может и не приводить к дополнительному IO совсем. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 20:51 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ hvlad Первое утверждение (о TIP) совершенно не верно (если речь всё ещё идёт о апдейте записи), ибо TIP модифицируется только при коммите. ну прям заинтриговал, может пояснишь подробней как активный статус транзакции прописывается в TIP при коммите ? hvladВторое (о подтирать чужие версии) тоже не соответствует действительности. Ибо на версии других записей никто не смотрит, а бекверсии обновляемой записи могут удаляться или сразу, или в фоне. а может это дворник злой (С) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 21:41 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Yo.!hvlad Первое утверждение (о TIP) совершенно не верно (если речь всё ещё идёт о апдейте записи), ибо TIP модифицируется только при коммите. ну прям заинтриговал, может пояснишь подробней как активный статус транзакции прописывается в TIP при коммите ?При коммите прописывается статус committed, как ни странно. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 21:49 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ hvladПри коммите прописывается статус committed, как ни странно. невероятно, точно что ли ? а когда все таки статус active прописывается ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 21:58 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Yo.!hvladПри коммите прописывается статус committed, как ни странно. невероятно, точно что ли ? а когда все таки статус active прописывается ?TIP инициализируется так, что все тр-ции на нём имеют статус active. Т.е. это происходит не при старте каждой тр-ции, а один раз при создании новой TIP. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 22:26 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ hvladTIP инициализируется так, что все тр-ции на нём имеют статус active.  Т.е. это происходит не при старте каждой тр-ции, а один раз при создании новой TIP. а данные транзакции в TIP значится магическим путем попадают ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 22:55 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Yo.!hvladTIP инициализируется так, что все тр-ции на нём имеют статус active.  Т.е. это происходит не при старте каждой тр-ции, а один раз при создании новой TIP. а данные транзакции в TIP значится магическим путем попадают ?Какие именно данные ? Может кроме самого слова "TIP" нужно было ещё что-то прочитать ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 23:23 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ hvladКакие именно данные ? Может кроме самого слова "TIP" нужно было ещё что-то прочитать ? мусье решил прикинутся лаптем, что ж, мы таких любим и ценим. вспоминая анедот об анкетировании новых русских зададим вопрос так: уж не при старте транзакции данные об активном статусе транзакции прописываются в TIP ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 23:35 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ Yo.!hvladКакие именно данные ? Может кроме самого слова "TIP" нужно было ещё что-то прочитать ? уж не при старте транзакции данные об активном статусе транзакции прописываются в TIP ?НЕТ. Читай выше до прояснения. И заодно расскажи - что, по твоему, есть "данные об активном статусе транзакции" ? PS Насчёт лаптя я записал... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 23:43 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ hvladНЕТ. Читай выше до прояснения. И заодно расскажи - что, по твоему, есть "данные об активном статусе транзакции" ? PS Насчёт лаптя я записал... именно так. при старте данные о транзакции со статусом active прописываются в TIP именно это позволяет в случае падения сервера вычислить транзакции которые необходимо откатить. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 20.05.2009, 23:53 |  | ||
| 
СУБД с поддержкой компресии данных и индексов | |||
|---|---|---|---|
| #18+ чтоб не быть голословным. To create a transaction the start transaction call will first read the header page of the database, pull off the Next Transaction number, increment it, and write the header page back to the database. It also reads the OIT value from the header page and starts reading the TIP pages from that transaction number forward up to the OAT. If the OIT is now marked as committed, then the process continues checking the transactions until it comes to the first transaction in a state other than committed and records that in the process's own transaction header block. The process then starts from the OIT and reads forward until it finds the first active transaction and records that in it's transaction header block also. http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_oit ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 21.05.2009, 00:07 |  | ||
|  | 

| start [/forum/topic.php?fid=35&msg=35997728&tid=1552925]: | 0ms | 
| get settings: | 9ms | 
| get forum list: | 12ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 46ms | 
| get topic data: | 10ms | 
| get forum data: | 2ms | 
| get page messages: | 52ms | 
| get tp. blocked users: | 1ms | 
| others: | 15ms | 
| total: | 153ms | 

| 0 / 0 | 
