Infiniband для Oracle 11-граммовый RAC частное межсоединение?

Я также - DBA и долговременный сценарист, возвращаясь к пакетным файлам DOS, V3.3! Углубленный к Сценарию VB, но PS очень мощно. Смотрите на - Извините, я не могу отправить ссылку, поскольку я - новый пользователь. Получил это из Блога Otto Helweg. Это - дешевый и веселый инструмент материально-технических ресурсов программного обеспечения.

  • 1-Получений по запросу список компьютеров для запросов от таблицы базы данных
  • 2-Добавляет текущие данные и время к результату
  • 3-Записей результаты аудита в базу данных

Пример сценарий PowerShell:

# Open the database connection
$dbConn = new-object System.Data.SqlClient.SqlConnection "server=kcdb;database=Inventory;Integrated Security=sspi"
$dbConn.Open()
$sqlQuery = $dbConn.CreateCommand()

# Get all known computers
$sqlQuery.CommandText = "select * from Inventory..Computers"
$reader = $sqlQuery.ExecuteReader()
$computersToQuery = @()
while ($reader.Read()) {
   $computersToQuery += $reader["Computer"]
}

# Close the database connection
$dbConn.Close()

$softwareInventory = @{}
foreach ($computer in $computersToQuery) {
   $psinfoOutput = ./psinfo.exe -s Applications \\$computer

   $foundSoftwareInventory = 0
   $computerName = ""
   foreach ($item in $psinfoOutput) {
      if ($foundSoftwareInventory -eq 1) {
         # Force the results to a string
         # Remove any single quotes which interfere with T-SQL statements
         # Load the result into a hash whereby removing any duplicates
         [string]$softwareInventory[$computerName][$item.Replace("'","")] = ""
      }

      if ($item -like "System information for *") {
         $computerName = $item.Split("\")[2].TrimEnd(":")
      } elseif ($item -eq "Applications:") {
         $foundSoftwareInventory = 1
         $softwareInventory[$computerName] = @{}
      }
   }
}

$dbConn = new-object System.Data.SqlClient.SqlConnection "server=kcdb;database=Inventory;Integrated Security=sspi"
$dbConn.Open()
$sqlQuery = $dbConn.CreateCommand()

foreach ($computer in $softwareInventory.Keys) {
   foreach ($softwareItem in $softwareInventory[$computer].Keys) {
      "Loading-" + $computer + ":" + $softwareItem

      # Try an Update then an Insert 
      trap {
         $sqlQuery.CommandText = "update Inventory..SoftwareInventory set AuditDate = getdate() where  Computer = '" + $computer + "' and Software = '" + $softwareItem + "'"
         $result = $sqlQuery.ExecuteNonQuery()
         continue
      }

      $sqlQuery.CommandText = "insert into Inventory..SoftwareInventory (Computer,Software,AuditDate) values ('" + $computer + "','" + $softwareItem + "',getdate())"
      $result = $sqlQuery.ExecuteNonQuery()
   }
}

$dbConn.Close()

Dave J.

1
задан 21 August 2009 в 07:37
4 ответа

Я никогда не использовал Infiniband в производстве, но насколько я могу определить единственное время, могло бы иметь смысл переходить к Infiniband, то, если Вы допускаете ошибку к 10GigE (если я помню, что стандартные цены отчасти достигают равновесия приблизительно в 10GbE). Задержка, измеряемая в наносекундах, довольно прохладна, но действительно ли это важно для DB?Не совсем.

Можно, вероятно, объединять два соединения на 1 ГБ в команду (с соответствующими аппаратными средствами, конечно) или сделать любое количество других тонких настроек (как Пакеты крупного размера или корректирующийся MTU) перед потребностью в чем-то как Infiniband.

Тем не менее Infiniband очень прохладен, если Вы просто хотите похвастать своим помощникам...

1
ответ дан 3 December 2019 в 17:29

Большой разницей между IB и 10GbE, как предполагается, является задержка. IB использует модель типа DMA с задержкой в диапазоне микросекунды, в то время как 10GbE требует, чтобы Ваша коммуникация переместилась и отодвинула стек с обеих сторон. IB, как также предполагается, имеет более высокую необработанную пропускную способность, чем 10GbE, но 10GbE, вероятно, будет назад совместимо, когда 40 и 100GbE выходят.

Для нас на самом деле просто определили задачу с созданием 5 узлов, кластер Oracle с межсоединениями IB и IB-> 10GbE переключает подтверждение концепции, на котором мы работаем с Dell. Так, моей информацией является в основном исследование, которое я проводил при подготовке к POC.

1
ответ дан 3 December 2019 в 17:29

У меня есть 4 узла oltp rac база данных и 3 собственного веса узла rac база данных с помощью IB в качестве межсоединений.
Мы используем Cisco переключатели IB и Cisco карты IB. Мы используем IP по IB как протокол обмена. До сих пор мы вполне с результатами. Никогда не имел проблему со взаимосвязанным трафиком. Мы близко подошли к насыщению нашего gigE открытого интерфейса, но не где близко к пропускной способности IB. Все 7 узлов подключены к 2 установкам переключателей infiniband в конфигурации "активный-пассивный".

2
ответ дан 3 December 2019 в 17:29
  • 1
    К сожалению, кажется, что Cisco полностью отказалась от IB в пользу 10GbE. Ни наши представители Cisco, ни наша нормальная Cisco VAR не могут указать на любые аппаратные средства Cisco Infiniband для нас к purchse. –  Greeblesnort 1 September 2009 в 00:27

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

Не забывайте, что можно очень легко соединить соединения Ethernet на 1 Гбит/с магистралью с 4 Гбит/с или 8 Гбит/с (в зависимости от количества физических портов, можно всунуть отдельные кластерные узлы) без принятия большего количества задержки в сетевом стеке.

Как Farseeker говорит, IB (в коммерческой среде) прохладен для хвастовства помощникам. В научном и научном сообществе IB почти стал товаром для кластерного межсоединения.

1
ответ дан 3 December 2019 в 17:29

Теги

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