MS_LargeDataProcessing1 - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒå€§éããŒã¿ã®åŠçæ¹åŒïŒ
- 倧éããŒã¿ã®åŠçæ¹åŒ1
- 倧éããŒã¿ã®åŠçæ¹åŒ2 / 倧éããŒã¿ã®åŠçæ¹åŒ3
ã©ã® OS ãïŒWindows ã Linux ãïŒ
-
ãã¡ã€ã«ç·šææ³ - Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E7%B7%A8%E6%88%90%E6%B3%95-
æ±çšã³ã³ãã¥ãŒã¿(ã¡ã€ã³ãã¬ãŒã ) ãäžéšã®ãªãã³ã³ã®å°çš OS ã§ã¯ã
åãã¡ã€ã«(ããŒã¿ã»ãã) å ã®ãã¬ã³ãŒãã®å±æ§ãå®çŸ©ããã
(åºå®é·/å¯å€é·/éå®åãåºå®é·ã®å Žåã®ã¬ã³ãŒãé·ãæ ŒçŽã»æ€çŽ¢æ¹æ³ãªã©) -
ãªãããããããªãŒãã³ã·ã¹ãã ã§ã¯ãã€ã ã¹ããªãŒã ãåºæ¬ã§ããã
ãã¡ã€ã«ç·šææ³ã¯ååšããªã
(詳现ã¯ãã¬ã¬ã·ãŒã·ã¹ãã ãšãªãŒãã³ã·ã¹ãã ã®æ¯èŒããåç §)ã
-
ãšããã€ãã»ã¹ããªãŒã ã«ãã
-
SAMïŒé 次ã¢ã¯ã»ã¹æ¹åŒïŒ
- ã·ãŒã±ã³ã·ã£ã«ã»ã¢ã¯ã»ã¹ - Wikipedia
https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B7%E3%83%A3%E3%83%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9
- ã·ãŒã±ã³ã·ã£ã«ã»ã¢ã¯ã»ã¹ - Wikipedia
-
DAMïŒçŽæ¥ã¢ã¯ã»ã¹æ¹åŒïŒ
- ã©ã³ãã ã»ã¢ã¯ã»ã¹ - Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9
- ã©ã³ãã ã»ã¢ã¯ã»ã¹ - Wikipedia
çšåºŠã¯ãµããŒãããŠããŸãã
æ¬ããŒãžã§ã¯ã
-
ãããïŒãã¡ã€ã«ã·ã¹ãã ã®ãã€ãã»ã¹ããªãŒã ïŒã
䜿çšããŠã®ã倧éããŒã¿ã®åŠçæ¹åŒãèããŸãã -
ãªããã¡ã¢ãªã«ä¿æå¯èœãªããŒã¿éã®å Žåã®èšèšãã£ã·ãžã§ã³ã«ã€ããŠã¯èæ ®ããŸããã
ãã®å Žåãã¡ã¢ãªã®å€§éæ¶è²»ã«ããåæå®è¡æ§ã®äœäžã CPU æéãåé¡ãšãªããŸãã- ããã«ã€ããŠã¯ã倧éããŒã¿ã®åŠçæ¹åŒ2ã
åèã«ããŠäžããã
- ããã«ã€ããŠã¯ã倧éããŒã¿ã®åŠçæ¹åŒ2ã
-
SAMïŒé 次ã¢ã¯ã»ã¹æ¹åŒïŒ - ã·ãŒã±ã³ã·ã£ã«ã»ã¢ã¯ã»ã¹ã
å®çŸããã«ããã£ãŠã¯ãç¹ã«åé¡ãšãªãç¹ã¯ãããŸããã -
READ ã WRITE ã® API ã«ãã£ãŠèªåçã«
ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒãç§»åãããŸãã
DAMïŒçŽæ¥ã¢ã¯ã»ã¹æ¹åŒïŒ - ã©ã³ãã ã»ã¢ã¯ã»ã¹ãå®çŸããã«ããã£ãŠã¯ã
ç¹ã«ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒã®å¶åŸ¡ãåé¡ãšãªããŸãã
åºå®é·ã¬ã³ãŒãã®å Žåã
-
ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒã®å¶åŸ¡ã容æã§ãã
-
Windows ã§ã¯ã
SetFilePointer颿°ã䜿çšããŠã
ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒããå šãŠèªåã§å¶åŸ¡ããŠ
ã©ã³ãã ã»ã¢ã¯ã»ã¹ãå®çŸããå¿ èŠããããŸãã- Win32 API ã§ã®ãã¡ã€ã«ã¢ã¯ã»ã¹
http://chokuto.ifdef.jp/urawaza/fileaccess.html
- Win32 API ã§ã®ãã¡ã€ã«ã¢ã¯ã»ã¹
-
泚æç¹
-
4GBïŒ32 ãããïŒä»¥äžã®ãã¡ã€ã«ãæ±ãæã¯ã
äžäœ 32 ããããšãäžäœ 32 ãããã 64 ããã ããŒã¿åã«
倿ããå¿ èŠãããããšã§ãã -
ãã®ãããã¬ã¬ã·ãŒ VB ã§ã¯
Seekã¹ããŒãã¡ã³ãã§ 2GB 以äžã®
ãã¡ã€ã«ã»ãã€ã³ã¿ãæå®ããããšãã§ããªããšããå¶çŽããããŸãã
4GBïŒ32 ãããïŒã§ãªãã®ã¯ãsigned ã®åã䜿çšããŠãããããšæãããŸãã- VBA ã® 2 GB ã®ãã¡ã€ã«å¶éãè¶
ããŠç§»åããæ¹æ³
https://learn.microsoft.com/ja-jp/office/troubleshoot/access/
- VBA ã® 2 GB ã®ãã¡ã€ã«å¶éãè¶
ããŠç§»åããæ¹æ³
-
ãã®å¶çŽã¯ãJava ã«ãããããã§ãã
- RandomAccessFile ã§ 2GB ä»¥äž - Java ã® Q&AãOKWaveã
http://okwave.jp/qa/q7022891.html
- RandomAccessFile ã§ 2GB ä»¥äž - Java ã® Q&AãOKWaveã
-
.NET ã§ã¯ã
FileStream.Seekã¡ãœããã®åŒæ°ã
64bit(long å) 察å¿ãããããããã®åé¡ã¯çºçããªããªã£ãããã§ãã- FileStream.Seek ã¡ãœãã (System.IO)
https://learn.microsoft.com/ja-jp/dotnet/api/system.io.filestream.seek
- FileStream.Seek ã¡ãœãã (System.IO)
-
äœè«ã«ãªããŸããã.NET ã§åºå®é·ã¬ã³ãŒããåŠçããå Žåã«äŸ¿å©ãª
C æ§é äœã«ãããããã¡åæãã .NET æ§é äœãš Marshal ã¯ã©ã¹ã䜿çšããŠ
å®çŸã§ããŸãã
- Marshal ã¯ã©ã¹ (System.Runtime.InteropServices)
https://learn.microsoft.com/ja-jp/dotnet/api/system.runtime.interopservices.marshal
ãªãããã®ãããã¡åæãåŠçã¯ãOpenæ£æ¢ã®å ±ééšåã«å®è£ ãããŠããŸãã
- OpenTouryo CustomMarshaler.cs
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Util/CustomMarshaler.cs
è£è¶³ïŒææ°åïŒ
Marshalã䜿ããªãåæãïŒ: çŸåšã® .NET ã§ã¯ã
Span<byte>ãšMemoryMarshalã䜿ããš
ã¢ã³ãããŒãž ã¡ã¢ãªãžã®ã³ããŒãªãã§æ§é äœãšããŠèªã¿åºããã[StructLayout(LayoutKind.Sequential, Pack = 1)] readonly struct Record { public readonly int Id; public readonly long Amount; } Span<byte> buf = stackalloc byte[Unsafe.SizeOf<Record>()]; stream.ReadExactly(buf); Record r = MemoryMarshal.Read<Record>(buf);åºå®é·ã¬ã³ãŒãã®é«éåŠçã§ã¯ã
ArrayPool<byte>ã§ãããã¡ã䜿ãåãããšãšåãããŠã
GC å§ãå€§å¹ ã«äžããããã
ãã ãããšã³ãã£ã¢ã³ãšæåã³ãŒãïŒEncoding.GetStringïŒã®æ±ãã¯
å¥éæç€ºçã«è¡ãå¿ èŠãããã
å¯å€é·ã¬ã³ãŒãã®å Žåã
-
ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒã®å¶åŸ¡ãå°é£ã§ãã
-
çç±ã¯ãç°¡åã§ã¬ã³ãŒãé·ãå¯å€ã®ãã n çªç®ã®ã¬ã³ãŒãã®
ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒãç®åºã§ããªãããã§ãã -
å¯Ÿå¿æ¹æ³ã«ã€ããŠã¯ãããã€ãæ¹æ³ãèããããŸãã
-
SAMïŒé 次ã¢ã¯ã»ã¹æ¹åŒïŒ - ã·ãŒã±ã³ã·ã£ã«ã»ã¢ã¯ã»ã¹ã§ã
äºåã«ãå šãŠã®ããŒã¿ãèªã¿åã£ãŠãããããã«ããã
å šãŠã®ã¬ã³ãŒãã®éå§äœçœ®ãé åãªã©ã«èšæ¶ããŠããã- ååã®éå§äœçœ®ã®é åäœæã®èªã¿èŸŒã¿ã« I/O æéãããã£ãŠããŸãã
-
å šãŠã®ã¬ã³ãŒããèªã¿åãããšãå°é£ãªå Žåã§ãã
ã¬ã³ãŒãçªå·ãªã©ãããŒã¿äžã«å«ãŸãããããªã
ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒãæšæž¬ããŠã
å¹çè¯ãã¬ã³ãŒãã«ã¢ã¯ã»ã¹ããäºã詊ã¿ãã®ã¯å¯èœã-
äžæãã¢ã«ãŽãªãºã ãèãã ãã®ãé£ããã
-
ã¬ã³ãŒãçªå·ãªã©ãããŒã¿äžã«å«ãŸããå¿ èŠããã
ã«ã¹ã¿ã 仿§ã§ãããããæ±çšåã¯ååšããªãã
-
-
ç§»è¡ã¡ã¢ïŒè£è¶³ïŒ: å ããŒãžã®ãïœçªç®ã®ã¬ã³ãŒãã®ãã¡ã€ã«ã»ãã€ã³ã¿ã
ã§ããªããããã¯ææãæ¬ ããŠããããã
ããç®åºã§ããªãããããšè£ã£ãŠæ²èŒããã
è£è¶³ïŒã€ã³ããã¯ã¹ ãã¡ã€ã«ãšããå®ç³ïŒ: ãéå§äœçœ®ãé åã«èšæ¶ãããæ¹åŒã¯ã
å®è³ªçã«èªåã§ã€ã³ããã¯ã¹ãäœãããšã«ä»ãªããªãã
ãããæ°žç¶åããŠå¥ãã¡ã€ã«ïŒã€ã³ããã¯ã¹ ãã¡ã€ã«ïŒã«æã€ã®ãå®ç³ã§ã
ååã®ãã« ã¹ãã£ã³ã 1 床ã ãã«æããããã
ã¡ã€ã³ãã¬ãŒã ã® ISAM/VSAM ããRDBMS ã®
SQL Server ã®ã€ã³ããã¯ã¹ãšçºæ³ã¯åãã§ããã
-
CSV ã®å Žå
-
å¯å€é·ã¬ã³ãŒãã®äž»èŠãªãã©ãŒãããã«ã¯ CSV ããããŸãã
-
CSV ã®åé¡ã¯ãCSV ã®ãã©ãŒãããã®ä»æ§ã«ãã£ãŠããŒãµãè€éã«ãªãäºã§ãã
-
Comma-Separated Values - Wikipedia
https://ja.wikipedia.org/wiki/Comma-Separated_Values -
CSV ãã¡ã€ã« ãã©ãŒãããã®è§£èª¬ïŒCodeZine
http://codezine.jp/article/detail/2364
-
-
äŸãã°ãããŒã¿å ã«æ¹è¡ã³ãŒããªã©ãå«ãŸããå Žåã¯ã
åè¿°ã®ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒãæšæž¬ããŠã
ã¬ã³ãŒãã«ã¢ã¯ã»ã¹ããçã®æ¹åŒã®æ¡çšã¯å°é£ã§ãã- ãã ãã1 ãã£ãŒã«ãã®æå€§ããŒã¿é·ã決ãŸã£ãŠããã°ãå¯èœãšèšãã°å¯èœã§ãã
-
ãã®ããã以äžã®ã©ã¡ãã®æ¹åŒãæ¡çšãããšããŠãã
- å šãŠã®ããŒã¿ãèªã¿åã£ãŠãããå šãŠã®ã¬ã³ãŒãã®éå§äœçœ®ãé åãªã©ã«èšæ¶ããŠããã
- ãã¡ã€ã«ã»ãã€ã³ã¿ïŒèªã¿æžãã®éå§ç¹ïŒãæšæž¬ããŠãå¹çè¯ãã¬ã³ãŒãã«ã¢ã¯ã»ã¹ããã
- â»
FileStream.SeekãPositionãšãStreamReader.ReadLineã䜵çšããã
-
çµå±ã®æãCSV ããŒãµãŒã®é«éåãå¿ èŠã«ãªãããã§ãã
- 巚倧㪠CSVïŒå¯å€é·ïŒãå¹çããèªèŸŒãæ¹æ³ã¯ïŒ - Cã»C++ ã® Q&AãOKWaveã
http://okwave.jp/qa/q4410652.html
- 巚倧㪠CSVïŒå¯å€é·ïŒãå¹çããèªèŸŒãæ¹æ³ã¯ïŒ - Cã»C++ ã® Q&AãOKWaveã
-
.NET ã«ã¯ãVB 2005 çšã®æ©èœãšããŠãCSV ããŒãµãŒãæºåãããŠããããã§ãã
ããããAPI ã®ä»æ§ããããã©ã³ãã ã»ã¢ã¯ã»ã¹ã¯ãµããŒããããŠããªãããã§ãã- CSV ãã¡ã€ã«ãèªã¿èŸŒãã«ã¯ïŒïŒ»2.0 ã®ã¿ãC#ãVB ïŒ ïŒ IT
http://www.atmarkit.co.jp/fdotnet/dotnettips/487csvparser/csvparser.html - TextFieldParser ã¯ã©ã¹ (Microsoft.VisualBasic.FileIO)
https://learn.microsoft.com/ja-jp/dotnet/api/microsoft.visualbasic.fileio.textfieldparser
- CSV ãã¡ã€ã«ãèªã¿èŸŒãã«ã¯ïŒïŒ»2.0 ã®ã¿ãC#ãVB ïŒ ïŒ IT
-
ç§»è¡ã¡ã¢ïŒèª€åïŒ: å ããŒãžã®ãAPI ã®äœ¿çšããããã¯
ãAPI ã®ä»æ§ããããã®èª€èšã
è£è¶³ïŒ
FileStream.PositionãšStreamReaderã®äœµçšã¯å±éºïŒ: æ¬æã®
ãâ»FileStream.SeekãPositionãšãStreamReader.ReadLineã䜵çšãããã¯ã
ãã®ãŸãŸã§ã¯æ£ããåäœããªãç¹ã«æ³šæã
StreamReaderã¯å éšã§ãããã¡ãªã³ã°ããŠããããã
ReadLineã§ 1 è¡èªãã æç¹ã®FileStream.Positionã¯
ãã®è¡ã®çµç«¯ã§ã¯ãªããå èªã¿ãããããã¡ã®çµç«¯ãæããäœçœ®ãæ£ç¢ºã«èšé²ãããå Žåã¯ã
StreamReaderã䜿ããFileStreamãèªåã§èªã¿é²ãã- ãããã¯èªã¿åã£ããã€ãæ°ãèªåã§ç©ç®ãã
å¿ èŠãããã
ãªããçŸåšã® .NET ã§ CSV ãæ±ããªã
CsvHelper ã Sep ãšãã£ãã©ã€ãã©ãªã䜿ãã®ãäžè¬çã§ã
åŸè ã¯SpanããŒã¹ã§æ¥µããŠé«éã§ããã
-
ãã®ä»
-
ãã¡ã€ã«ç·šææ³ã®ãªããªãŒãã³ã·ã¹ãã ã®
ãã€ãã»ã¹ããªãŒã ã®ãã¡ã€ã«ã·ã¹ãã ã§ã¯
å¯å€é·ã¬ã³ãŒãã»ãã¡ã€ã«ã®ã¬ã³ãŒãæŽæ°åŠçã¯äžå¯èœã -
åºå®é·ã¬ã³ãŒãã®åŠçãšåãããã«ã
C æ§é äœã«ãããããã¡åæãã§åŠçããããšãäžå¯èœã
-
åºå®é·ã¬ã³ãŒãã®æŽæ°åŠç以å€ã¯ã
- å¯å€é·ã¬ã³ãŒãã®æŽæ°åŠçïŒã¬ã³ãŒãé·ãå€ããæŽæ°ïŒ
- ããã¹ãã»ãã¡ã€ã«ã®äžéã«æåããã©ã°ã©ããæ¿å ¥ããã
- .etc
æŽæ°å·®åæ
å ±ã®ã¿ãã¡ã¢ãªã«ä¿æããŠã
æçµçã«å
šãŠã®ããŒã¿ããã€ãã»ã¹ããªãŒã ã§æžãåºãçŽãå¿
èŠãããã
ãã®ãããI/O ã®ãªãŒãããããéåžžã«å€§ãããªã£ãŠããŸããŸãã
è£è¶³ïŒããŒãžåºåãšããå®ç³ïŒ: å šä»¶ãæžãåºãçŽãããšèªäœã¯é¿ããããªããã
**å ¥åãèªã¿ãªããåºåãžæžãåºãïŒã¹ããªãŒãã³ã°ïŒ**圢ã«ããã°ã
ã¡ã¢ãªæ¶è²»ã¯äžå®ã«ä¿ãŠãã
- å ¥åãã¡ã€ã«ãå é ããé ã«èªã
- æŽæ°å¯Ÿè±¡ãªãå·®åãé©çšããŠåºåãããã§ãªããã°ãã®ãŸãŸåºå
- å®äºåŸãåºåãã¡ã€ã«ãå ¥åãã¡ã€ã«ãšå·®ãæ¿ãã
ããã¯ã¡ã€ã³ãã¬ãŒã ã®ãã¹ã¿æŽæ°ïŒæ§ãã¹ã¿ + ãã©ã³ã¶ã¯ã·ã§ã³ â æ°ãã¹ã¿ïŒ
ãã®ãã®ã§ãããçŸåšã倧éãããã®åºæ¬åœ¢ã§ããã
å·®ãæ¿ããååçã«è¡ãã«ã¯File.Replaceã䜿ãã
ã¡ã¢ãªãããã ãã¡ã€ã«ïŒMMFïŒã䜿çšããã°ã
- ããã ãã¥ãŒã®ãããã»ã¢ã³ãããã«ããã©ã³ãã ã»ã¢ã¯ã»ã¹
- ããã ãã¥ãŒã®ç¯å²ã§ãªã³ã¡ã¢ãªåŠçïŒI/O åæ°ã®è»œæžïŒ
ãå¯èœã«ãªããå¹ççã«åç
§åŠçã
å®è£
ã§ããããã«ãªãå¯èœæ§ããããŸãã
è£è¶³: .NET ã§ã¯
System.IO.MemoryMappedFiles.MemoryMappedFileã§
å©çšã§ããã
倧ããªãã¡ã€ã«ãžã®ã©ã³ãã ã¢ã¯ã»ã¹ãå€ãå Žåã«æå¹ã ãã
32bit ããã»ã¹ã§ã¯ã¢ãã¬ã¹ç©ºéã®å¶çŽã§å€§ããªãã¥ãŒãåããªã
ïŒWOW64ïŒããã64bit åæã®ææ³ã§ããã
-
COBOL ãªã©ã¯ãRDBMS ãç¡ãæä»£ã«ããã¹ãã»UNIX ã® OS ã«å®è£ ããã
VSAM ãå éšçã«äœ¿çšããŠæ¥åã¢ããªã±ãŒã·ã§ã³ãéçºããããšã
ç®çãšããŠããããããã®ä»çµã¿ã«é©åããèšèªä»æ§ã«ãªã£ãŠããã -
ãã®ããå¯å€é·ã®ã©ã³ãã ã»ã¢ã¯ã»ã¹ã§ãã£ãŠã
å®è£ ã容æã§ããã®ãããªåé¡ã¯çºçããªãããã§ãã
ãã®ãããæã¯è¯ããWindows ã¯ãã¡ã€ã«ã»ã·ã¹ãã ã匱ãããšèšãããŠããŸããã -
VSAMãVSAM ããŒã¿ã»ãã »ãã¡ã€ã³ãã¬ãŒã ã»ã³ã³ãã¥ãŒã¿ãã§éãŒã
http://www.arteceed.net/?p=3164 -
Virtual Storage Access Method - Wikipedia
https://ja.wikipedia.org/wiki/Virtual_Storage_Access_Method
è£è¶³ïŒäœãéã£ãã®ãïŒ: VSAM ã® KSDSïŒããŒé ããŒã¿ã»ããïŒã¯ã
OS ã B ããªãŒ ã€ã³ããã¯ã¹ãæã€ãã¡ã€ã«ç·šæãæäŸããŠããã
ã€ãŸããçŸåšã® RDBMS ãæ ã£ãŠãã圹å²ã®äžéšã
ãã¡ã€ã« ã·ã¹ãã å±€ãåãæã£ãŠãããšããããšã§ããããªãŒãã³ ã·ã¹ãã ããããæšãŠãŠãã€ã ã¹ããªãŒã ã«äžæ¬åããã®ã¯ã
ãã®åœ¹å²ã RDBMS ã«å§ããããã§ããã
ã匱ãããšããããèšèšæ¹éã®éããšèšããã
æ¬ããŒãžåŸåã®ãDB ã䜿çšããå ŽåãããŸãã«ãã®è©±ã§ããã
UnixãLinux ã®ãã¡ã€ã«ã·ã¹ãã ã§ã¯æçåãçºçãé£ããšèšã話ããã£ãã®ã§ã
ç°¡åã«æè¡çãªèæ¯ãçºããŠãããµã€ãããªã³ã¯ããŸããã
- ããã©ã°ïŒãã¡ã€ã«ã·ã¹ãã ïŒ
RDBMS+SQL ã䜿çšããããšã«ãã£ãŠã
ã¢ããªã±ãŒã·ã§ã³ã¯ããŒã¿ã»ã¢ã¯ã»ã¹ã®éã«
- ãã¡ã€ã«ç·šææ³ïŒåºå®é·/å¯å€é·/éå®åãæ ŒçŽã»æ€çŽ¢æ¹æ³ïŒãš
- äžèšã«å¯Ÿå¿ããã¢ã¯ã»ã¹æ¹æ³ïŒAPI ã®å©ç𿹿³ïŒ
ãèæ ®ããã«ãè«çããŒã¿ã«çŽæ¥ã¢ã¯ã»ã¹ã§ããããã«ãªããŸããã
倧éããŒã¿ã®ãããåŠçã¯ãåºæ¬çã«ã¹ãã¢ããé«éã§ãã
-
ãããã¯ãŒã¯ãããã»ã¹éã®éä¿¡åŠçãçºçããªãã®ã§ã
ããŒã¿éåä¿¡ã®ã©ãŠã³ãããªãããçºçããªãã -
ã«ãŒãœã«ã«ãããã§ããã䜿çšã§ãããã
倧éããŒã¿ã®çµæã»ãããååŸããå Žåã
ã¡ã¢ãªæ¶è²»éãæããããšãã§ããã
Javaã.NET ã§å®è£
ããå Žåã¯ãæ§èœçã«
åé¡ãç¡ãããäºåã«æ€èšŒããæ¹ãè¯ãã§ãããã
è£è¶³: ã¹ãã¢ã ããã·ãŒãžã£ã®åŸå€±ã¯
ã¹ãã¢ã ããã·ãŒãžã£ã«ãŸãšããŠããã
ãªãããã«ãŒãœã«ã«ãããã§ããã㯠T-SQL ã®CURSORãæããã
T-SQL ã®ã«ãŒãœã«ã¯è¡ããšã®åŠçã§éåžžã«é ãããã
å¯èœãªéãéåæŒç®ïŒã»ããããŒã¹ïŒã§æžãã®ãååã§ããã
ã¯ã©ã€ã¢ã³ãåŽã§å°ããã€èªããšããæå³ã§ããã°ã
DbDataReaderãæ¢ã«ã¹ããªãŒãã³ã°ãªã®ã§åã广ãåŸãããã
倧éããŒã¿ã®ãããåŠçã§ã
以äžã®æ§ãª DBMS ã®æ©æ§ã䜿çšãããã±ãŒã¹ãããã
- æ€çŽ¢æ©èœïŒIndex SeekïŒ
- çµåãçµ±åãéèšæ©èœïŒJoinãUnionãGroup ByïŒ
æ€çŽ¢ãçµåæ©æ§ã«ã¯ã€ã³ããã¯ã¹ã䜿çšãããŠãããã
- ã€ã³ããã¯ã¹ã®æ§ç¯ã»æŽæ°
- çµ±èšæ å ±æŽæ°ã®æ§ç¯ã»æŽæ°
çãå¿ èŠã«ãªãã
DB ãå©çšå¯èœã«ãããŸã§ã®ãªãŒããŒãããã«ã¯ä»¥äžã®ãã®ããããŸãã
- ã€ã³ããŒãïŒã€ã³ãµãŒãïŒ
- ã€ã³ããã¯ã¹æ§ç¯ã»æŽæ°
- çµ±èšæ å ±ã®æ§ç¯ã»æŽæ°
- å¿ èŠã§ããã°ãšã¯ã¹ããŒã
-
MDBïŒaccdbïŒãã€ã³ã¹ããŒã«äžèŠã§éçšã楜ã
- MS-Access ã䜿ããã« Jet Database Engine ã䜿çšããæ¹æ³
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGnrHowToUseJetWithoutMSAccess.html
- MS-Access ã䜿ããã« Jet Database Engine ã䜿çšããæ¹æ³
-
SQL Server Express Edition
- ã€ã³ã¹ããŒã«ã¯å¿ èŠã ãã
- ãã¡ã€ã« ã¢ã¯ã»ã¹ã«ãã SQL åŠçãå¯èœïŒ
*.MDFïŒã
-
SQL Server CE
- ã€ã³ã¹ããŒã«ã¯å¿ èŠã ãã
- ãã¡ã€ã« ã¢ã¯ã»ã¹ã«ãã SQL åŠçãå¯èœïŒ
*.SDFïŒã - æ¥µå° SQL Server Compact ã§ããŒã¿ããŒã¹ã»ã¢ããªããæè»œäœæ ïŒ ïŒ IT
http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_02.html
-
SQLite - Wikipedia
https://ja.wikipedia.org/wiki/SQLite- ãããªãã¯ã»ãã¡ã€ã³ã® OSSãADO.NET察å¿
- C#-.NET ã§ SQLite ã䜿ãåºæ¬äžã®ããã³ - ããã€ãéçºå®€
http://blog.ume108.mobi/?p=3378
- C#-.NET ã§ SQLite ã䜿ãåºæ¬äžã®ããã³ - ããã€ãéçºå®€
- ãããªãã¯ã»ãã¡ã€ã³ã® OSSãADO.NET察å¿
-
Oracle XEïŒOracle11gXE + ODP.NET Managed DriverïŒ
-
ãã®ä» OSS ã® DB
è£è¶³ïŒææ°åïŒ: çŸåšã®éžæè¢ã¯ä»¥äžã®ãšããæŽçãããã
çŸç¶ SQLite 第äžåè£ã Microsoft.Data.Sqliteã§ .NET ããå©çšãåäžãã¡ã€ã«ãã€ã³ã¹ããŒã«äžèŠSQL Server LocalDB Express ã®äžéšãšããŠæäŸãéçºã»ãã¹ãçšé SQL Server CE éçºçµäºã䜿çšããªã Jet / ACE 32bit / 64bit ã®æ··åšåé¡ãããïŒWOW64ïŒ Docker PostgreSQL / SQL Server ãã³ã³ããã§èµ·åããã®ãæãæè»œ
ãããããããåŠççã§é«æ§èœãªããŒã¿å€æåŠçãèŠæ±ãããã±ãŒã¹ã§ã¯
æªã ã«ãã¡ã€ã«ã»ã¬ãã«ã§ã®ããŒã¿åŠçãå¿
èŠã«ãªãããšããããŸãã
äŸïŒããŒã¿ã®ãšã¯ã¹ããŒã â 倿åŠçïŒã·ãŒã±ã³ã·ã£ã«ïŒ â ããŒã¿ã®ã€ã³ããŒã
è£è¶³: ãã®ããšã¯ã¹ããŒã â 倿 â ã€ã³ããŒããã¯ããŸãã« ETL ã§ããã
SQL Server ã§ã¯bcp/BULK INSERT/ SSISã該åœãã
äžæ¬ãã°åŸ©æ§ã¢ãã«ãšã®çµã¿åããã§æå°ãã°èšé²ãå¹ããã
ïŒSQL Server 倧éããŒã¿åŠçæã®æ§èœåé¡ïŒã
補åãäœ¿ãæ¹åŒã¯ããŒã¿é£æºãåç §ã
HULFT DataMagic ãªã©ã䜿çšããããšã§
å¯å€é·ã¬ã³ãŒãã®å€§éããŒã¿ã容æã«åŠçã§ããå¯èœæ§ããããŸãã
- HULFT-DataMagic æè¡ã³ã©ã Vol.17 ãHULFT å®çŸ©äžæ¬ç»é²ç·šã
æè¡ã³ã©ã äžèЧ ãã¡ã€ã«è»¢éã»ããŒã¿é£æº HULFT ã·ãªãŒãº ã»ãŸã³æ å ±ã·ã¹ãã ãº
http://www.hulft.com/column/datamagic17.html
Tags: ç§»è¡, ããŒã¿ã¢ã¯ã»ã¹