Title: Вопрос по базам данным Post by: imhoneer on June 23, 2017, 06:03:22 PM Господа хотелось бы уточнить такой момент, у нас есть база данных состоящая из одной таблицы вида:
id nominal nomer 1 1 07E547D9586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 2 1 05678tyuigy,mnb7654564545676FB7D9586F6A73F7D0C8D788A309D785436BBB64 3 1 07E547D9586F6A73F73FBAC06951218FB7D309D785436BBB644567809745678768 4 5 4567899586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 5 5 098iuyjhg9586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 6 5 45yuk586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 7 10 3456098kjhgbvc54328765435ED76951218FB7D0C8D788A309D785436BBB64 8 10 fgh3456987sd345673FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 9 10 2345689765908765456FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 10 25 123456786543544545677540435ED76951218FB7D0C8D788A309D785436BBB64 11 25 3456u43566543456u654rwertytr4543ty543456yt340C8D788A309D785436BBB64 12 25 345685uyt3456uytry4uuytAC0435ED76951218FB7D0C8D788A309D785436BBB64 13 50 2134556t434567573F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 14 50 567898764tyu6546789iuytt565iuyt56iuyty465765467iD0C8D788A309D785436BBB64 15 50 4567wtrey67899546657685635ED76951218FB7D0C8D788A309D785436BBB64 16 100 0657895456456766AC0435ED76951218FB7D0C8D788A309D785436BBB64 17 100 98iujh6F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 18 100 3456kjhgfuygft3F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 Такая таблица будет примерно содержать около 1-2 миллиардов строк. Есть потребность убрать столбец id и привести её к виду: nomer nominal 07E547D9586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64 1 05678tyuigy,mnb7654564545676FB7D9586F6A73F7D0C8D788A309D785436BBB 1 07E547D9586F6A73F73FBAC06951218FB7D309D785436BBB6445678097456787 1 4567899586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB646 5 098iuyjhg9586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB8 5 45yuk586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64678 5 3456098kjhgbvc54328765435ED76951218FB7D0C8D788A309D785436BBB64ert 10 fgh3456987sd345673FBAC0435ED76951218FB7D0C8D788A309D785436BBB647 10 2345689765908765456FBAC0435ED76951218FB7D0C8D788A309D785436BBB6 10 123456786543544545677540435ED76951218FB7D0C8D788A309D785436BBB6 25 3456u43566543456u654rwertytr4543ty543456yt340C8D788A309D785436BBB 25 345685uyt3456uytry4uuytAC0435ED76951218FB7D0C8D788A309D785436BBB 25 2134556t434567573F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB 50 567898764tyu6546789iuytt565iuyt56iuyty465765467iD0C8D788A309D785436 50 4567wtrey67899546657685635ED76951218FB7D0C8D788A309D785436BBB64 50 0657895456456766AC0435ED76951218FB7D0C8D788A309D785436BBB642456 100 98iujh6F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB644768 100 456kjhgfuygft3F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB64754 100 Столбец nomer содержит уникальные значения, это хеши (как адреса у биткоина) одинаковой длины. Особенность в том, что мы не делаем вставок в таблицу, а практически постоянно производим поиск по значению в столбце nomer и меняем его другим значением. Так вот вопрос, не повлияет ли это на скорость работы базы данных, а также возможность хеширования значений всей таблицы. Я знаю, что есть разные типы баз данных поэтому интересует больше возможность данного исполнения. Title: Re: Вопрос по базам данным Post by: A-Bolt on June 24, 2017, 06:15:21 PM То что у вас в итоге получилось, называется key-value storage.
Key-value storage производительнее (для тех задач, для которых они подходят) чем SQL БД. Копайте в этом направлении. Конкретную подходящую под ваши задачи реализацию key-value storage не подскажу - не специалист. Title: Re: Вопрос по базам данным Post by: imhoneer on June 24, 2017, 07:34:26 PM То что у вас в итоге получилось, называется key-value storage. Key-value storage производительнее (для тех задач, для которых они подходят) чем SQL БД. Копайте в этом направлении. Конкретную подходящую под ваши задачи реализацию key-value storage не подскажу - не специалист. Спасибо за подсказку, всё говорит, что такое вполне реализуемо в Berkeley DB и довольно быстро и просто. Title: Re: Вопрос по базам данным Post by: yzoz on June 26, 2017, 02:09:13 PM Вот здесь можно удобно повыбирать
https://db-engines.com/en/ranking Title: Re: Вопрос по базам данным Post by: imhoneer on June 26, 2017, 02:15:00 PM Вот здесь можно удобно повыбирать https://db-engines.com/en/ranking Спасибо за ссылку, узнал много новых баз данных, хотя разобраться в них может только специалист. Title: Re: Вопрос по базам данным Post by: yzoz on June 26, 2017, 02:40:23 PM Вот здесь можно удобно повыбирать Спасибо за ссылку, узнал много новых баз данных, хотя разобраться в них может только специалист.https://db-engines.com/en/ranking На самом деле, все эти новые NoSQL базы очень даже дружественные! Я осилил MongoDB и InfluxDB весьма быстро. До этого был только MySQL. У них такой синтаксис запросов, что будто бы с человеком общаешься (: Я бы порекомендовал попробовать http://www.aerospike.com/ - вроде хвалят. Самому с ключ-значение пока не приходилось работать.. Но хочу :) Title: Re: Вопрос по базам данным Post by: imhoneer on June 26, 2017, 05:56:43 PM На самом деле, все эти новые NoSQL базы очень даже дружественные! Я осилил MongoDB и InfluxDB весьма быстро. До этого был только MySQL. У них такой синтаксис запросов, что будто бы с человеком общаешься (: Я бы порекомендовал попробовать http://www.aerospike.com/ - вроде хвалят. Самому с ключ-значение пока не приходилось работать.. Но хочу :) Спасибо, буду иметь в виду эту базу данных. |