powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Среда для разработки 1С онлайн
25 сообщений из 67, страница 2 из 3
Среда для разработки 1С онлайн
    #38204384
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а блин снова поторопился и опечатался...
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204395
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЭти слова что-то говорят о программных объектах и ничего о "нативном формате", вокруг которого они навернуты. Все равно не понятно, о чем речь.
Для тех, кто заперся в танке и не желает от туда выбираться. Речь о том, что из БД нужно выбирать данные без какой-либо трансформации. Трансформацию производить средствами application layer.

P.S. "Нативно выбрать" - это чистой воды аллегория. Другими словами, как вижу так и отдаю. Если требуются еще уточнения по этому поводу или захочешь опять понасиловать мой моск, убей себя об стену.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204396
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuвами предлагалось пхп без какой либо толковой причиныпричина озвучивалась. впрочем, противниками озвучивалась таже самая причина в отношении их технологий.
handmadeFromRuи сидите не в той веткеу него нет выбора, он тут модератор
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204452
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyпричина озвучивалась. впрочем, противниками озвучивалась таже самая причина в отношении их технологий.
у него нет выбора, он тут модератор
тогда в двойне не стоит писать "рекомендую PHP+MS SQL".
"Основная логическая работа - на SQL" - ShSerge, вы имели ввиду держать логику на стороне SQL?
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204467
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyЭти слова что-то говорят о программных объектах и ничего о "нативном формате", вокруг которого они навернуты. Все равно не понятно, о чем речь.
Для тех, кто заперся в танке и не желает от туда выбираться. Речь о том, что из БД нужно выбирать данные без какой-либо трансформации.Для начала, откуда ты знаешь, что никакой трансформации не происходит неявно при получении данных application layer'ом? Ему же из бинарного потока нужно слепить объекты, для этого его нужно распарсить. А потом, for xml наверное не пяткой писали, и сделали узкоспециализированную процедуру, заточенную на максимальную производительность при формировании xml-текста из данных бд. Никакой универсальный парсер application layer'а не сравнится по скорости выхлопа с узко заточенным. Что же получается, если нам нужно отдать xml клиенту? Как минимум две трансформации. Одна из бинарного стрима, отдаваемого сервером, в объекты типа DataSet/IEnumerable, вторая из объектов в стрим, содержащий xml-текст. +1, если не в стрим, а в XmlDocument.

А если посмотреть на for xml, то получается, что транформацию в xml нам уже сделал сервер максимально эффективным способом, а если от xml больше ничего не надо, можно сделать ADODB.Stream -> Response.Stream без переливания из пустого в порожнее объекта в объект.

Но все это общие соображения для сферических задач.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204493
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuтогда в двойне не стоит писать "рекомендую PHP+MS SQL".
"Основная логическая работа - на SQL" - ShSerge, вы имели ввиду держать логику на стороне SQL?
Не хотелоссь сюда писать пост № 22222. Но уж так получилось. :)
1. Насчёт PHP. Все вэб-программисты, которые этим занимаются более 7-10 лет, так или иначе знают пхп. А дотнетчики ещё и яву.
2. Логика на стороне SQL-сервера? Да Вы меня просто удивляете! Он для этого и создавался, чтобы именно так поступать. Ага, данные только там и надо обрабатывать. Тогда никаких вопросов с типизацией, или как перевести дату из 01.08.2012 в 2012-08-01 не будет. И над этой базой смогут просто и без проблем работать и ваши вэб-приложения, и десктопные, например, на Делфях.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204504
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДля начала, откуда ты знаешь, что никакой трансформации не происходит неявно при получении данных application layer'ом?
А мне это и не нужно знать, уже достаточно то, что он делает SQL FOR XML выборки. Более того, рекомендует это зло всем куда ни попадя.

AntonariyЕму же из бинарного потока нужно слепить объекты, для этого его нужно распарсить.
Не пиши чушь, какой еще "бинарный поток". Он делает выборку из обычных таблиц сразу в виде XML.

AntonariyА потом, for xml наверное не пяткой писали, и сделали узкоспециализированную процедуру, заточенную на максимальную производительность при формировании xml-текста из данных бд.
Лом тоже не зря придумали. Но использовать его в качестве отвертки - занятие неблагодарное.

AntonariyНикакой универсальный парсер application layer'а не сравнится по скорости выхлопа с узко заточенным.
Я бы не торопился с такими безапеляционными выводами - это раз. Выхлоп из базы должен быть в виде рекордсета без какого-либо форматирования, условной логики и прочего бреда. Логикой должен заниматься application layer и только он. Тогда отмасштабировать решения будет в разы проще, про переносимость БД - вообще как два пальца.

AntonariyЧто же получается, если нам нужно отдать xml клиенту? Как минимум две трансформации. Одна из бинарного стрима, отдаваемого сервером, в объекты типа DataSet/IEnumerable, вторая из объектов в стрим, содержащий xml-текст. +1, если не в стрим, а в XmlDocument.
Да, так и только так. Более того, одному клиенту нужна определенная xsd схема, другому - другая, третьему - третья. Писать этот ужос на SQL - проще убить себя об стену. Нормальные люди (подчеркиваю, нормальные люди) пишут .NET трансформер, богатый по функциональности и быстрый по исполнению.

AntonariyА если посмотреть на for xml, то получается, что транформацию в xml нам уже сделал сервер максимально эффективным способом, а если от xml больше ничего не надо, можно сделать ADODB.Stream -> Response.Stream без переливания из пустого в порожнее объекта в объект.
Написал выше. Более того, сейчас у нас сиквел, завтра оракл, последавтра попросят mysql. Засада? У меня нет, ибо вся логика в application layer.

AntonariyНо все это общие соображения для сферических задач.
Учи матчасть.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204534
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ...Учи матчасть.
У меня FOR XML на нескольких десятках миллионов данных работает меньше секунды.
Здесь смеяться или плакать?
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204537
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

60 миллисекунд на всё (выборка из БД, сериализация) - 1000 экземпляров [Sales].[Customer], результат 181 Кб (в аттаче), простая рабочая машина (не сервер).

Маленькая скорость?

Entity Framework
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
long res = Execute(() =>
{
    var serializer = new JavaScriptSerializer();
    var list = ctx.Customer.Take(1000).ToList();
    string json = serializer.Serialize(list);
});

Console.WriteLine(res);
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204541
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeМСУ...Учи матчасть.
У меня FOR XML на нескольких десятках миллионов данных работает меньше секунды.
Здесь смеяться или плакать?
В эти сказки даже дед мороз не поверит, получишь out of memory exception. Иди расскажи это бабушкам во дворе, и то засмеют.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204556
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Это твоё любимое ОРМ сделает. А у меня - всё типтоп.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204573
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeМСУ, Это твоё любимое ОРМ сделает. А у меня - всё типтоп.
Я ж говорю, иди деду морозу расскажи сказки, как ты сериализуешь в строку несколько десятков миллионов строк.

Тут чувак вешается от 220 тыщ, и все ему пальцем у виска крутят...

http://stackoverflow.com/questions/5899719/sql-query-for-xml-runs-fine-in-2000-slow-in-2008-r2 The table itself contains 220,500 rows but the query rows returned is showing 129,810 before query stops. Is this simply a matter of not having enough memory available to the system? This box has 48 GB (Win 2008 R2 EE x64), instance capped to 18GB because its shared dev environment.

а ты у нас такой весёлый, десятки миллионов строк в XML пихаешь, и всё это у тебя работает меньше секунды. Серж, ты не болен случаем?
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204598
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuShSergeА как это по-русски будет?
нечего было сказать?
п.с. вы имхо не вкурсе "как это работает" по ваших большинству постов
Я порой диву даюсь от постов Сержа...
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204599
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Я очень осторожно подвожу тебя к мысли, что таки стоит чего-то делать на сервере.
Несколько десятков миллионов у меня группируются до нескольких миллионов (суммируются). А там - дело техники. Несколько миллионов прекрасно себе сериализуются в ХМЛ. Но на SQL-сервере , а не на сишарпе, или ОРМе.
Щас не могу послать тебе тестовый запрос, но как-нибудь сам попробуешь.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204606
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, не десятки миллионов а сотни. :)
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204617
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeМСУ...Учи матчасть.
У меня FOR XML на нескольких десятках миллионов данных работает меньше секунды.
Здесь смеяться или плакать?Видимо Вы счастливый обладатель какого-то беспредельного чудосервера. На обычных серверах запрос, возвращающий 10 000 000 записей, даже без FOR XML за "меньше секунды" невозможен.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204629
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeМСУ, Я очень осторожно подвожу тебя к мысли, что таки стоит чего-то делать на сервере.
Если это "что-то" реально оправдано, но я не против. Например, ORM-ы не умеют с деревьями рекурсионно через CTE работать. Да, идем в обход транслятора и пишем что-то такое . Или пишем хп, если очень припечет и оно того стоит. Но эти обходные пути - мизер, по сравнению с реальными потребностями.

ShSergeНесколько десятков миллионов у меня группируются до нескольких миллионов (суммируются).
1. Как-то ты аккуратно начал включать заднюю. У тебя может и 10 миллиардов сгруппироваться в одну строку и ты будешь всем писать, что "У меня FOR XML на нескольких десятках миллиардах данных работает меньше секунды"? Ну не бред ли?
2. Во вторых, даже если ты схлопнешь в несколько миллионов и накроешь их FOR XML, у тебя всё-равно не получится быстро это сделат
3. В третьих, сериализовать миллионы строк - попахивает кретинизмом. Не находишь?

ShSergeА там - дело техники. Несколько миллионов прекрасно себе сериализуются в ХМЛ. Но на SQL-сервере , а не на сишарпе, или ОРМе.
Да что ты говоришь? Расскажи, за какое у тебя время "несколько миллионов прекрасно себе сериализуются в ХМЛ"?

ShSergeЩас не могу послать тебе тестовый запрос, но как-нибудь сам попробуешь.
Давай!
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204633
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут похожая тема. Сервера приложений можно без напряга горизонтально масштабировать. Поэтому всякие развороты данных/преобразование в XML/шифрование/сжатие и т. п. нужно по возможности выносить из БД. Масштабирование сервера БД (кластеризации, репликации и т. п.) - занятие не для слабонервных.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204637
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergehandmadeFromRuтогда в двойне не стоит писать "рекомендую PHP+MS SQL".
"Основная логическая работа - на SQL" - ShSerge, вы имели ввиду держать логику на стороне SQL?
Не хотелоссь сюда писать пост № 22222. Но уж так получилось. :)
1. Насчёт PHP. Все вэб-программисты, которые этим занимаются более 7-10 лет, так или иначе знают пхп. А дотнетчики ещё и яву.
2. Логика на стороне SQL-сервера? Да Вы меня просто удивляете! Он для этого и создавался, чтобы именно так поступать. Ага, данные только там и надо обрабатывать. Тогда никаких вопросов с типизацией, или как перевести дату из 01.08.2012 в 2012-08-01 не будет. И над этой базой смогут просто и без проблем работать и ваши вэб-приложения, и десктопные, например, на Делфях.

шутник чтоль?
1) ну знают пхп и чтоль дальше то? Знаю я пхп, яву и осваиваю щас рор и на подходе эрланг, но я не пишу на лево и направо "рекомендую" в ветке асп нет, вы сами порождает holy war.
2) логину на скул? бизнес логика в приложение и нигде больше! Какая типизация и перевод дат? всем этим делом занимается провайдер к бд. Логику в бд кидают, если только вас задача заставляет прийти к такому решению(к примеру клиенты на разных платформах) в других случаях всегда в приложение. А почему? да потому что :
- еще больше код приложения размывается по нескольким платформам
- нет проверки на совместную работу с другим кодом (совпадение типов данных, названий переменных)
- код на sql, в общем случае, выпадает из системы контроля версий
- нет рефакторинга, поменял бд и сиди ковыряйся в тонне скриптов.
- привязка к конкретной бд (но эт не совсем минус)
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204640
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeПардон, не десятки миллионов а сотни. :)
Так, начинали с десятков миллионов. Потом, оказывается, в сторонке отплясывала группировка и речь была о нескольких миллионах. Теперь уже "сотни". Только непонятно чего, миллионов или тысяч?

P.S. Серж, ты даже облажался на такой элементарной теме, как FOR XML... Даже студент знает, что это нереально тормозная хрень, которая еще более менее приемлема на небольшом кол-ве данных (сотни строк, ну тысячи максимум). И то, если речь идет о небольших по размеру row.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204642
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про масштабирование забыл сказать, если логика на скул очень геморно
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204646
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Тут похожая тема. Сервера приложений можно без напряга горизонтально масштабировать. Поэтому всякие развороты данных/преобразование в XML/шифрование/сжатие и т. п. нужно по возможности выносить из БД. Масштабирование сервера БД (кластеризации, репликации и т. п.) - занятие не для слабонервных.
Вот, сразу чувствуется подход профессионала. Старик Алексей никогда не лажает! :) (ну или почти никогда )
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204650
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu- код на sql, в общем случае, выпадает из системы контроля версийСкрипты на создание хранимых процедур и т. п. прекрасно хранятся в версионнике.
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204657
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУну или почти никогда Никогда!
...
Рейтинг: 0 / 0
Среда для разработки 1С онлайн
    #38204661
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Да, я действительно, причём через хттп (хендлером в формате ХМЛ) импортирую табличку с миллионами записей. Ну и что? У меня - работает.
Если у кого-то не работает, то что здесь сказать?
1. Никогда не писать SELECT *, вопервых. :)
2. Привести базу в порядок (ну, там индексы и т.п.).
3. Забить на ОРМы.
Успехов!
...
Рейтинг: 0 / 0
25 сообщений из 67, страница 2 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Среда для разработки 1С онлайн
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]