powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EDM vs LINQ to SQL
25 сообщений из 272, страница 8 из 11
EDM vs LINQ to SQL
    #37400494
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin,

нет
я ж сказал варианты
все сводится либо
insrert ... select ..
либо
insert bulk ... col()
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37400496
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
остальные варианты уже отброшены :(
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37400501
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну практически работает bulk insert, только вместо файла передаеся TDS пакеты
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37400513
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tablock, constraint отключены никаких поверок и т.д.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37400700
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте прикинем...

ViPRosпросто запиши 10 000 000 записей в 7 таблиц

Получается ~ 23 800 записей в секунду. Задача не так уж тривиальна сама по себе. Даже для bulk операций.

А какова длина одной записи? Дабы можно было бы "тупо" прикинуть, какая производительность дисковой системы нужна, чтоб проглотить такое IO не подавившись.

Ну, и, как информация к размышлению: http://msmvps.com/blogs/gladchenko/archive/2010/03/09/1761298.aspx
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37400985
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парни, Вы все работаете в центре обработки данных при пентагоне? :D
Я работал с десятками организаций, самая большая реальная база, которую я в глаза видел 4.7 Гб, это не считая БелАЗа, у них надцать гигов DBF-фок разбросаны на надцати серверах. Стандартный объем с которым приходится работать 100-800 метров, пара сотен тысяч записей. А Вы здесь такие страхи рассказываете :))
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401072
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinМСУ, Так в чем будет заключаться наше с Вами пари?
Перечитайте топик.

EDUARD SAPOTSKIПарни, Вы все работаете в центре обработки данных при пентагоне? :D
То есть базы более 4.7 Гб используются только в центре данных при пентагоне?
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401147
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin,

в среднем таблицы типа этого (между прочим , такие же грабли и с удалением, хотя там можно технически через Trunc и подставные таблицы решать вопрос с быстрдействием, но в ущерб к доступности БД в это время :()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
CREATE TABLE [dbo].[Процесс расчетный](
	[ИД] [uniqueidentifier] NOT NULL,
	[ТипИД] [uniqueidentifier] NOT NULL,
	[Процесс] [uniqueidentifier] NULL,
	[РодительИД] [uniqueidentifier] NULL,
	[Спецификация производственного заказа] [uniqueidentifier] NOT NULL,
	[Структурный элемент] [uniqueidentifier] NULL,
	[Тип процесса] [uniqueidentifier] NULL,
	[Версия расчета] [nvarchar]( 256 ) NOT NULL,
	[Наименование] [nvarchar]( 200 ) NOT NULL,
	[№ порядковый] [bigint] NOT NULL,
	[Процент выполнения] [numeric]( 7 ,  2 ) NOT NULL,
	[Запущен] [bit] NOT NULL,
	[Устойчив к перезапуску] [bit] NOT NULL,
	[Выпущен] [bit] NOT NULL,
	[Дата начала] [datetime] NOT NULL,
	[Дата запуска фактическая] [datetime] NULL,
	[Дата окончания] [datetime] NOT NULL,
	[Дата выпуска фактическая] [datetime] NULL,
PRIMARY KEY CLUSTERED 
(
	[ИД] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Процесс расчетный]  WITH NOCHECK ADD  CONSTRAINT [Процесс расчетный_Процесс нормативный{Процесс}] FOREIGN KEY([Процесс])
REFERENCES [dbo].[Процесс нормативный] ([ИД])
GO

ALTER TABLE [dbo].[Процесс расчетный] CHECK CONSTRAINT [Процесс расчетный_Процесс нормативный{Процесс}]
GO

ALTER TABLE [dbo].[Процесс расчетный]  WITH NOCHECK ADD  CONSTRAINT [Процесс расчетный_Спецификация производственного заказа{Спецификация производственного заказа}] FOREIGN KEY([Спецификация производственного заказа])
REFERENCES [dbo].[Спецификация производственного заказа] ([ИД])
GO

ALTER TABLE [dbo].[Процесс расчетный] CHECK CONSTRAINT [Процесс расчетный_Спецификация производственного заказа{Спецификация производственного заказа}]
GO

ALTER TABLE [dbo].[Процесс расчетный]  WITH NOCHECK ADD  CONSTRAINT [Процесс расчетный_Тип процесса{Тип процесса}] FOREIGN KEY([Тип процесса])
REFERENCES [dbo].[Тип процесса] ([ИД])
GO

ALTER TABLE [dbo].[Процесс расчетный] CHECK CONSTRAINT [Процесс расчетный_Тип процесса{Тип процесса}]
GO

ALTER TABLE [dbo].[Процесс расчетный] ADD  DEFAULT (( 0 )) FOR [№ порядковый]
GO

ALTER TABLE [dbo].[Процесс расчетный] ADD  DEFAULT (( 0 )) FOR [Процент выполнения]
GO

ALTER TABLE [dbo].[Процесс расчетный] ADD  DEFAULT (( 0 )) FOR [Запущен]
GO

ALTER TABLE [dbo].[Процесс расчетный] ADD  DEFAULT (( 0 )) FOR [Устойчив к перезапуску]
GO

ALTER TABLE [dbo].[Процесс расчетный] ADD  DEFAULT (( 0 )) FOR [Выпущен]
GO
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401211
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI,

ну у них просто регистрация факта по движению ресурсов
и то обычно полуфабрикатный учет не ведется и т.д.
а тут пооперационное планирование и учет
да и предприятия разные бывают
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401312
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Вай, мэй... 8)

Код: plaintext
1.
2.
3.
4.
[ИД] [uniqueidentifier] NOT NULL
...
PRIMARY KEY CLUSTERED 
(
	[ИД] ASC

кластерный индекс не по монотонно (возрастающем\убывающему полю)!!! Еще бы не быть тормозам...
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401436
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinПростите, что так долго отстутствовал...

SeVaРаспределятор - AppFabric , для конечных автоматов и прочих бизнес-процессов - workflow и тд.

Объясните, пожалуйста, специально для

SeVaдремучих дельфийцов, которые суда иногда забредают из прошлого века

каким образом, перечисленные Вами слова, помогут записать "в базу", скажем, 20 заказов в секунду? Вот так вот, чтоб распределяторов много, и мы на среднем уровне все распределяем и масштабируем, а в базу записать таки надо.
Если сохранение узкое место, то при сохранении бизнес-объекта он не пишется сразу в БД, а помещается в очередь, по этому событию выдается сообщение, по нему запускаются нужные обработчики(они могут быть разнесы по разным местам), те в свою очередь делают нужные телодвижения в БД.
Кроме банальной записи в БД этот процесс может быть гораздо сложней и тогда эти телодвижения выносятся в workflow. При таком подходе вся бизнес-логика выносится из БД и 20 записей в сек для нее не становятся проблемой. Это и твой недобук потянет.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401455
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin,

вечером попробую без этого индекса
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401468
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

нет никакой БЛ в БД
просто туда надо быстро писать и все
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401507
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЕсли сохранение узкое место, то при сохранении бизнес-объекта он не пишется сразу в БД, а помещается в очередь, по этому событию выдается сообщение, по нему запускаются нужные обработчики(они могут быть разнесы по разным местам), те в свою очередь делают нужные телодвижения в БД.

Ну так есть у меня "очередь" в движке СУБД (Service Broker). Для реализации ассинхронной и распределенной обработки мне и нафиг не нужны бизнес объекты и аппфабрики на среднем уровне. По поводу масштабирования:

Everything about MySpace boggles the mind—from its 130 million monthly active users, to the 300,000 new users who sign up each day; and from its 8 billion friend relationships it manages, to the 34 billion e-mail messages it stores while adding 41 million more each day. The site’s 1 petabyte of data is managed by 440 Microsoft® SQL Server® instances and resides on 3PAR® Utility Storage. When MySpace needed a message queuing and delivery solution to help ensure data changes were correctly and atomically executed on all affected physical database instances, MySpace created an internal solution, called Service Dispatcher, using the Service Broker feature of SQL Server 2005. Service Broker has helped MySpace ensure data integrity across its distributed infrastructure, resulting in a better user experience. Service Broker also helps MySpace developers to roll out new services faster.

Мы тоже пошли по этому пути...

SeVaКроме банальной записи в БД этот процесс может быть гораздо сложней и тогда эти телодвижения выносятся в workflow.

Например?

SeVaПри таком подходе вся бизнес-логика выносится из БД и 20 записей в сек для нее не становятся проблемой. Это и твой недобук потянет.

Странно... данные, которые меняет бизнес-логика в бд, а обработку мы из нее выносим? И, я говорил о процессе - прием 20ти заказов в каждую секунду, а не о вставке 20 записей.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401582
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМы тоже пошли по этому пути...
Пути разные бывают.

Service broker - унылог г..
Если для тебя странно, что бизнес-логика может требовать преобразования, то простой пример -
в 1С зачастую не нужны все данные, а только итоговые суммы по документу. Обработчики, про которые я писал, позволяют делать декомпозицию нужных телодвижений на мелкие и независимые,простые части(один производит запись в БД, другой общается с 1С, третий и четвертый занимаются своими делами). При двух-звенке и БЛ в БД этого никогда не достичь.
БД - тупое хранилище и требования к ней минимальны.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401596
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

все эти "независимые просты части" все равно когда то лезут в БД.
БД не только хранилище, но громадная инфраструктура по преобразованию данных.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401601
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
была мысль написать все на Ерланг, в конце концов понял, что синхроизация данных все равно жрет то же время.
А сервис брокер не говно, я не ней сделала международную биржу Алиса.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401683
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosSeVa,

все эти "независимые просты части" все равно когда то лезут в БД.
БД не только хранилище, но громадная инфраструктура по преобразованию данных.

А зачем в БД устраивать преобразование данных, когда это можно сделать в AppServer, который гораздо легче масштабируется?
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401695
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaViPRosБД не только хранилище, но громадная инфраструктура по преобразованию данных.
А зачем в БД устраивать преобразование данных, когда это можно сделать в AppServer, который гораздо легче масштабируется?
У нас весь слой ETL под кубы и иже сидит на SSIS пакетах, масштабируемость не страдает. Ссисовые workflow отлично дизайнерятся и отлаживаются в VS солюшене. Все счастливы и довольны.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401715
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaService broker - унылог г..

Мьсе может детализировать свое фиаско от его использования?

SeVaЕсли для тебя странно, что бизнес-логика может требовать преобразования, то простой пример -
в 1С зачастую не нужны все данные, а только итоговые суммы по документу. Обработчики, про которые я писал, позволяют делать декомпозицию нужных телодвижений на мелкие и независимые,простые части(один производит запись в БД, другой общается с 1С, третий и четвертый занимаются своими делами). При двух-звенке и БЛ в БД этого никогда не достичь .
БД - тупое хранилище и требования к ней минимальны.

Еще один издевается. Мы кормили несколько лет назад семерку, уже третий год восьмерку кормим "итоговыми суммами по документу" при этом никиких аппсерверов и обрабочтиков на них.

Хотя, нет, это не издевка, это в очередной раз под использованием аппсервера кроется отсутствие знаний по СУБД.

SeVaБД - тупое хранилище и требования к ней минимальны.

Это только если к современному серверу РСУБД так относиться.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401743
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinSeVaService broker - унылог г..

Мьсе может детализировать свое фиаско от его использования?

SeVaЕсли для тебя странно, что бизнес-логика может требовать преобразования, то простой пример -
в 1С зачастую не нужны все данные, а только итоговые суммы по документу. Обработчики, про которые я писал, позволяют делать декомпозицию нужных телодвижений на мелкие и независимые,простые части(один производит запись в БД, другой общается с 1С, третий и четвертый занимаются своими делами). При двух-звенке и БЛ в БД этого никогда не достичь .
БД - тупое хранилище и требования к ней минимальны.

Еще один издевается. Мы кормили несколько лет назад семерку, уже третий год восьмерку кормим "итоговыми суммами по документу" при этом никиких аппсерверов и обрабочтиков на них.

Хотя, нет, это не издевка, это в очередной раз под использованием аппсервера кроется отсутствие знаний по СУБД.

SeVaБД - тупое хранилище и требования к ней минимальны.

Это только если к современному серверу РСУБД так относиться.

Мусье, зачем мне применять частные решения? Что ты будешь делать со своим брокером, если 1с файловая?
Ваш Service broker - монолитное решение, которое масштабируется только вверх за счет стоимости и кластеризации.
Сможешь ты накормить 1с, если подобный функционал отсутствовал изначально, не меняя ни строчки кода в клиенте и БД?
Я могу.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401812
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... но то, что архитектурно спланированы реакции на события БД в серверной BL (сервис брокер) - за это, конечно, пальцы нужно отламывать плоскогубцами. Большой жирный минус по поддержке, масштабируемости, документированию, рефакторингу.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401840
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМусье, зачем мне применять частные решения? Что ты будешь делать со своим брокером, если 1с файловая?

Никакого частного решения. Этому решению абсолютно все-равно, какая 1С, двух или трех звенная, файловая или на MS SQL, Oracle или Postgre, ибо этое решение не лазит на прямую в данные 1С, а использует ее интерфейсы, но без ненужной прослойки в виде аппсервера.

SeVaСможешь ты накормить 1с, если подобный функционал отсутствовал изначально, не меняя ни строчки кода в клиенте и БД?

У меня вообще нет "клиента" для обмена с 1С, ибо он мне не нужен.
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401850
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ... но то, что архитектурно спланированы реакции на события БД в серверной BL (сервис брокер) - за это, конечно, пальцы нужно отламывать плоскогубцами. Большой жирный минус по поддержке, масштабируемости, документированию, рефакторингу.

А деталлизировать свой пассаж, или это будет очередное голословное утверждение?
...
Рейтинг: 0 / 0
EDM vs LINQ to SQL
    #37401893
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinМСУ... но то, что архитектурно спланированы реакции на события БД в серверной BL (сервис брокер) - за это, конечно, пальцы нужно отламывать плоскогубцами. Большой жирный минус по поддержке, масштабируемости, документированию, рефакторингу , тестированию.

А деталлизировать свой пассаж, или это будет очередное голословное утверждение?

Я понимаю, что Вам нужно всё по десять раз повторять, но так сильно давить лбом о кирпичную кладь - увольте. Учитесь схватывать с первого раза. :)
...
Рейтинг: 0 / 0
25 сообщений из 272, страница 8 из 11
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EDM vs LINQ to SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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