Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Подскажите, граждане! Как можно приращивать identity со случайным шагом?

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
14 дек 09, 22:10    [8066204]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Glory
Member

Откуда:
Сообщений: 104760
При каждом insert-t что ли со случайном шаге ?
14 дек 09, 22:51    [8066353]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Ага. Что бы по id нельзя было посчитать количество записей

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
14 дек 09, 23:02    [8066376]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Glory
Member

Откуда:
Сообщений: 104760
Зачем вам тогда вообще identity ?
Поставьте guid
14 дек 09, 23:13    [8066398]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Это значение выдается на клиента, клиент хочет int64... Клиента переделывать - геморрой, это раз. Есть клиенты не нашей разработки, им еще хуже.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
14 дек 09, 23:23    [8066428]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Life
Member

Откуда:
Сообщений: 128
Перед настоящей вставкой делать случайное количество "фиктивных". Вставлять запись, а потом откатывать транзакцию. А уже потом настоящую вставку.
14 дек 09, 23:47    [8066488]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Хм... Хорошая идея, спасибо!

Может еще есть у кого мысли. По сравнению с ораклом или, например, тем же интербейзом, как-то сложно с этим вопросом.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
14 дек 09, 23:49    [8066494]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Идея фиговая.

Лучше тупо зашифруйте DES-ом. Без ключа хрен вычислишь.
Можно абсолютно любое симметричное шифрование (с блоком в 64 бит). Да хоть тупое круговое битовое смещение. :)

Даже с guid-ом и то лучше. Тупо вырежьте неизменяемые байты (определяющие железо). Короче найдите подходящие 8 байт из 16-ти. Тут даже на форуме это обсуждалось.
15 дек 09, 00:49    [8066595]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
pr0ger
Member

Откуда: Москва
Сообщений: 1933
Dr. Blez
Ага. Что бы по id нельзя было посчитать количество записей

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.

Что-то кривоватая постановка задачи
Но если очень хочется, то можете в джобе увеличивать текущее значение identity с помощью DBCC CHECKIDENT
15 дек 09, 01:18    [8066623]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
aleks2
Guest
Dr. Blez
Хм... Хорошая идея, спасибо!

Может еще есть у кого мысли. По сравнению с ораклом или, например, тем же интербейзом, как-то сложно с этим вопросом.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.


Ну... ежели ошень хоцца жесткого секаса:
select cast(SUBSTRING(HashBytes('MD5',cast(cast(newid() as binary(16)) as char(16))), 1, 8) as bigint)
но, теоретически, возможны совпадения... хучь и реденько.
15 дек 09, 07:05    [8066744]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Идея Life была, по моему, самой лучшей. И наиболее соответствующей поставленной задаче. Если у кого нибудь есть еще мысли, предложите, пожалуйста. Только конструктивные.

Нужна возрастающая последовательность id, со случайным приращением. При каждой вставке должно генерироваться новое значение id, больше предыдущего.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
15 дек 09, 12:17    [8068190]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
aleks2
Guest
Dr. Blez
Идея Life была, по моему, самой лучшей. И наиболее соответствующей поставленной задаче. Если у кого нибудь есть еще мысли, предложите, пожалуйста. Только конструктивные.

Нужна возрастающая последовательность id, со случайным приращением. При каждой вставке должно генерироваться новое значение id, больше предыдущего.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.


И чо будет с производительностью этой ИДЕИ?
Опять плакать будем: MS SQL - тормоз?
15 дек 09, 12:26    [8068262]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
aleks2
Guest
Откройте чтоль для себя
DBCC CHECKIDENT 
Токмо один фиг - херня полная.
15 дек 09, 12:28    [8068286]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Dr. Blez
Идея Life была, по моему, самой лучшей. И наиболее соответствующей поставленной задаче. Если у кого нибудь есть еще мысли, предложите, пожалуйста.
Оценить количество записей при случайном приращении все равно можно.
15 дек 09, 12:28    [8068287]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
DeColo®es
Dr. Blez
Идея Life была, по моему, самой лучшей. И наиболее соответствующей поставленной задаче. Если у кого нибудь есть еще мысли, предложите, пожалуйста.
Оценить количество записей при случайном приращении все равно можно.


Посчитать нельзя. Я планирую увеличивать со случайным шагом от 5 до 10, т.е. счетчик будет прирастать в минимум в 5 раз быстрее, чем на самом деле. Это меня устроит.
15 дек 09, 12:39    [8068358]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
aleks2
Guest
Dr. Blez
DeColo®es
Dr. Blez
Идея Life была, по моему, самой лучшей. И наиболее соответствующей поставленной задаче. Если у кого нибудь есть еще мысли, предложите, пожалуйста.
Оценить количество записей при случайном приращении все равно можно.


Посчитать нельзя. Я планирую увеличивать со случайным шагом от 5 до 10, т.е. счетчик будет прирастать в минимум в 5 раз быстрее, чем на самом деле. Это меня устроит.


С математикой у тредстартера плохо. От 5 до 10 с равномерным распределением дает математическое ожидание = 7.5 для числа записей -> к бесконечности, оценки числа записей n=[ID/7.5] и ошибка -> 0.
15 дек 09, 12:52    [8068479]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Давайте не будем обсуждать мои математические способности, а предлагать решение, если оно есть.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
15 дек 09, 14:20    [8069165]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36829
Бестолковая какая-то задача. А что мешает посчитать записи не по id?
15 дек 09, 14:25    [8069215]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Есть много устройств. Они обращаются к серверу. Помещают туда данные. А в ответ сервер им выдает id. Т.е. если я обращусь с устройства, потом, на следующий день, обращусь опять с устройства, посмотрю выданные номера записей, и определю, таким образом, сколько записей было добавлено на сервер за день. Мне необходимо всех запутать.
Мне необходимо решение, которое бы выдавало номер записей, для их последующей идентификации. Они не должны повторяться, и, ввиду того, что записей добавляется много (до 4000 в минуту), не хочется генерировать случайное число и проверять его по индексу, а хочется использовать какойто более простой механизм, который, во-первых, обеспечит некоторую случайность, а, во-вторых, приемлемую скорость.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
15 дек 09, 14:32    [8069275]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36829
Dr. Blez
Есть много устройств. Они обращаются к серверу. Помещают туда данные. А в ответ сервер им выдает id. Т.е. если я обращусь с устройства, потом, на следующий день, обращусь опять с устройства, посмотрю выданные номера записей, и определю, таким образом, сколько записей было добавлено на сервер за день. Мне необходимо всех запутать.
Мне необходимо решение, которое бы выдавало номер записей, для их последующей идентификации. Они не должны повторяться, и, ввиду того, что записей добавляется много (до 4000 в минуту), не хочется генерировать случайное число и проверять его по индексу, а хочется использовать какойто более простой механизм, который, во-первых, обеспечит некоторую случайность, а, во-вторых, приемлемую скорость.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
Определять кол-во записей по изменению значения id - изначально глупая идея. Вы уверены, что ваши устройства именно так и поступают?
15 дек 09, 14:37    [8069339]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Вы не поняли. Устройства не определяют кол-во записей. Человек, который работает с этим устройством может определить кол-во записей, которые были добавлены на сервер всеми устройствами за период времени, имея два номера id. И может эту информацию использовать, не то, что бы во вред, но мне не хотелось бы, что бы эта информация была так просто доступна.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
15 дек 09, 14:49    [8069448]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Dr. Blez
Мне необходимо всех запутать.
Чисто по-человечески интересно - это Вам необходимо или действительно стоит такая задача - не дать возможности понять, сколько записей добавлено за интервал времени?
15 дек 09, 15:05    [8069589]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
Стоит задача

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
15 дек 09, 15:15    [8069660]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Glory
Member

Откуда:
Сообщений: 104760
Dr. Blez
Стоит задача

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.

Сделайте ПК гиудом, а в поле, которое видит пользователь, заносите случайное число
15 дек 09, 15:19    [8069689]     Ответить | Цитировать Сообщить модератору
 Re: приращение identity со случайным шагом  [new]
Dr. Blez
Member

Откуда:
Сообщений: 135
ПК у меня есть. А этот идентификатор используется для как номер записи для ссылок из вне. Т.е. на устройстве есть возможность посмотреть, что с записью на сервере происходит.

--- BBR #22
Yeah, well, I'm gonna go build my own data-center, with blackjack and hookers.
15 дек 09, 15:25    [8069732]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить