Какие слабые места могут быть найдены в использовании Erlang?

MySQL
SELECT FieldA
     , GROUP_CONCAT(FieldB ORDER BY FieldB SEPARATOR ',') AS FieldBs
  FROM TableName
 GROUP BY FieldA
 ORDER BY FieldA;

Oracle & amp; DB2

SELECT FieldA
     , LISTAGG(FieldB, ',') WITHIN GROUP (ORDER BY FieldB) AS FieldBs
  FROM TableName
 GROUP BY FieldA
 ORDER BY FieldA;

PostgreSQL

SELECT FieldA
     , STRING_AGG(FieldB, ',' ORDER BY FieldB) AS FieldBs
  FROM TableName
 GROUP BY FieldA
 ORDER BY FieldA;

SQL Server

SQL Server & ge; 2017 & amp; Azure SQL

SELECT FieldA
     , STRING_AGG(FieldB, ',') WITHIN GROUP (ORDER BY FieldB) AS FieldBs
  FROM TableName
 GROUP BY FieldA
 ORDER BY FieldA;

SQL Server & le; 2016 (CTE включен для поощрения принципа DRY )

  WITH CTE_TableName AS (
       SELECT FieldA, FieldB
         FROM TableName)
SELECT t0.FieldA
     , STUFF((
       SELECT ',' + t1.FieldB
         FROM CTE_TableName t1
        WHERE t1.FieldA = t0.FieldA
        ORDER BY t1.FieldB
          FOR XML PATH('')), 1, LEN(','), '') AS FieldBs
  FROM CTE_TableName t0
 GROUP BY t0.FieldA
 ORDER BY FieldA;

SQLite

Для заказа требуется CTE или подзапрос

  WITH CTE_TableName AS (
       SELECT FieldA, FieldB
         FROM TableName
        ORDER BY FieldA, FieldB)
SELECT FieldA
     , GROUP_CONCAT(FieldB, ',') AS FieldBs
  FROM CTE_TableName
 GROUP BY FieldA
 ORDER BY FieldA;

Без заказа

SELECT FieldA
     , GROUP_CONCAT(FieldB, ',') AS FieldBs
  FROM TableName
 GROUP BY FieldA
 ORDER BY FieldA;
16
задан Aaron Rustad 5 March 2009 в 15:27
поделиться

4 ответа

Это походит на идеального кандидата на язык как Erlang. Масштабирующиеся свойства языка очень хороши, но если Вы волнуетесь по поводу способностей к обработке данных, Вы не должны быть. Это - очень мощный язык со многими библиотеками, доступными разработчикам. Это - старый язык, и это в большой степени использовалось/тестировалось в прошлом так все, что Вы хотите сделать, был, вероятно, уже сделан до некоторой степени.

10
ответ дан 30 November 2019 в 21:46
поделиться

Удостоверьтесь, что Вы используете erlang версию R11B5 или более новый! Более ранние версии erlang не обеспечили, способность к тайм-ауту tcp отправляет. Это приводит к остановленной или злонамеренной клиентской способности выполнить DoS-атаку на Вашем приложении путем отказа к recv данным, которые Вы отправляете им, таким образом запирая процесс отправки.

Посмотрите выпуск OTP-6684 от информация о версии .

R11B5
5
ответ дан 30 November 2019 в 21:46
поделиться

С Erlang масштабируемость и надежность там, но из Вашего определения проекта Вы не обрисовываете в общих чертах, в какой обработке текста Вы будете нуждаться.

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

, Если Вы собираетесь самостоятельно учиться или сделать, чтобы Ваши разработчики учились, это на задании имеет в виду, что это - совсем другой способ кодировать и что, в то время как базовая документация хороша, большому количеству людей действительно жаль, что не было большего количества примеров. Конечно, очень активное сообщество легко восполняет это.

5
ответ дан 30 November 2019 в 21:46
поделиться

я понимаю, что возможности обработки текста Erlang могли бы оставлять желать лучшего.

скворец проект уже оказывает основную unicode поддержку и существует EEP (Предложение по Улучшению Erlang) в настоящее время в проекте, но входе для обеспечения его в господствующую тенденцию поддержки Erlang/OTP.

3
ответ дан 30 November 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: