এন-গ্রাম ডেটা সংরক্ষণ করা


12

আমি এন -গ্রাম ডেটা সংরক্ষণ করার বিষয়ে কিছুটা বুদ্ধিমান হওয়ার আশা করছিলাম । আমার প্রকল্প, আমি ভাষাগত সমস্যার যেখানে আমি সমস্ত (জানি সমাধান করার চেষ্টা করছি এন -1) ডেটা আইটেম এবং পরিসংখ্যানগত আমার অনুমান করতে চান এন রৈখিক ক্ষেপক ব্যবহার উপর সমস্ত প্রযোজ্য এন -grams। (হ্যাঁ, এমন একটি ট্যাগার রয়েছে যা তার শব্দকোষ অনুসারে পরিচিত শব্দের জন্য ট্যাগ দেয় এবং একটি প্রত্যয় গাছ যা অজানা শব্দের জন্য শব্দটি অনুমান করার চেষ্টা করে; এখানে আলোচিত এন- গ্রাম উপাদানটি অসঙ্গতাকে সমাধান করার কাজ দেওয়া হবে))

আমার প্রাথমিক পদ্ধতিটি হ'ল সমস্ত পর্যবেক্ষিত এন -গ্রামগুলি ( এন = 1..3, অর্থাত মনোগ্রাম, বিগ্রাম, ট্রাইগ্রাম) সম্পর্কিত ডেটাগুলি সম্পর্কিত এসকিউএল ডাটাবেসে সঞ্চয় করে এবং এটিকে একটি দিন কল করা হবে। তবে আমার প্রকল্পের প্রয়োজনীয়তাগুলি অন্য ভেক্টরের দৈর্ঘ্যের ( এন ) অন্তর্ভুক্ত করতে পারে এবং আমি আমার অ্যাপ্লিকেশনটি অনেক কাজ ছাড়াই 4-গ্রামে খাপ খাইয়ে নিতে চাই (স্কিমা আপডেট করা, অ্যাপ্লিকেশন কোড আপডেট করা, ইত্যাদি); আদর্শভাবে, আমি কেবল আমার অ্যাপ্লিকেশনটিকে এখনই 4-গ্রাম দিয়ে কাজ করতে বলি কোড কোড (বা মোটেও) পরিবর্তন না করেই এবং কোনও ডেটা উত্স থেকে এর ডেটা প্রশিক্ষণ দেয়।

সমস্ত প্রয়োজনীয়তা যোগ করতে:

  • এন -গ্রাম ডেটা সংরক্ষণ করার ক্ষমতা (প্রাথমিকভাবে এন = {1, 2, 3 for
  • কী ধরণের এন- গ্রাম ব্যবহার করা উচিত তা পরিবর্তন করার ক্ষমতা (অ্যাপ্লিকেশন চলমান মধ্যে)
  • ট্রেনের এন- গ্রাম ডেটা (পুনরায়) করার ক্ষমতা ( অ্যাপ্লিকেশন চলমান মধ্যে)
  • ডেটা স্টোরটি জিজ্ঞাসা করার ক্ষমতা (যেমন আমি যদি এ, বি, সি পর্যবেক্ষণ করি তবে আমি আমার প্রশিক্ষিত 4-, 3-, 2-, 1-গ্রাম ডেটা সেটগুলি কী ব্যবহার করতে পারি তার সর্বাধিক ঘন ঘন পর্যবেক্ষণ করা আইটেমটি জানতে চাই )

    অ্যাপ্লিকেশনটি সম্ভবত পঠন-ভারী হবে, ডেটা সেটগুলি সম্ভবত এটি পুনরায় প্রশিক্ষণ দেওয়া হবে না

  • সমাধানটি। নেট ফ্রেমওয়ার্ক নিয়োগ করে (4.0 পর্যন্ত)

এই জাতীয় কাজের জন্য এখন কোন ডিজাইনের চেয়ে আরও উপযুক্ত হবে?

  • প্রতিটি এন এর জন্য একটি এসকিউএল সার্ভার (এমএসএসকিউএল, মাইএসকিউএল, ...) দ্বারা পরিচালিত একটি নির্দিষ্ট টেবিল (যেমন, দ্বি-গ্রাম, ত্রি-গ্রাম ইত্যাদির জন্য উত্সর্গীকৃত টেবিল)
  • অথবা কোনও নোএসকিউএল ডকুমেন্ট ডাটাবেস সমাধান যা নথির কী হিসাবে প্রথম এন -1 সংরক্ষণ করে এবং নথিতে নিজেই এন- তম মান এবং পর্যবেক্ষণের ফ্রিকোয়েন্সি থাকে?
  • নাকি আলাদা কিছু?

3
আমি মনে করি এটি স্ট্যাক ওভারফ্লোতে আরও উপযুক্ত হবে।
কনরাড রুডল্ফ

1
সম্ভবত একটি ত্রি (উপসর্গ গাছ) তথ্য কাঠামো আপনার প্রয়োজনীয়তা মাপসই করা হবে?
সময়সূচী

1
আমি স্ট্যাক ওভারফ্লো বা এমনকি cstheory.stackexchange.com
স্টিভ

ঠিক আছে, ধন্যবাদ. আমি প্রশ্নটি সেখানে পৌঁছানোর চেষ্টা করব।
মানি

4
এই প্রশ্নটি প্রোগ্রামারদের জন্য পুরোপুরি উপযুক্ত st স্টককেজচেঞ্জ.কম এবং স্ট্যাকওভারফ্লো, আইএমওতে স্থানান্তরিত হওয়া উচিত নয়। এটি হ'ল ধরণের "হোয়াইটবোর্ড পরিস্থিতি" প্রশ্ন যা এখানে জিজ্ঞাসা করা উচিত। বিশদ জন্য মেটা চেক করুন।
ব্যবহারকারী 281377

উত্তর:


8

আপনি এন এর সর্বোত্তম পরিসরটি জানেন না তা প্রদত্ত, আপনি অবশ্যই এটি পরিবর্তন করতে সক্ষম হতে চান। উদাহরণস্বরূপ, যদি আপনার অ্যাপ্লিকেশনটি কোনও নির্দিষ্ট পাঠ্য ইংরেজী হওয়ার সম্ভাবনাটি পূর্বাভাস করে তবে আপনি সম্ভবত এন 3..5 এর জন্য এন-গ্রাম অক্ষরটি ব্যবহার করতে চাইবেন। (এটি আমরা পরীক্ষামূলকভাবে পেয়েছি))

আপনি আপনার অ্যাপ্লিকেশন সম্পর্কে বিশদ ভাগ করে নি, তবে সমস্যাটি যথেষ্ট পরিষ্কার। আপনি কোনও রিলেশনাল ডাটাবেসে এন-গ্রাম ডেটা উপস্থাপন করতে চান (বা নোএসকিউএল ডকুমেন্ট-ভিত্তিক সমাধান)। আমার নিজের সমাধানের পরামর্শ দেওয়ার আগে আপনি নিম্নলিখিত পদ্ধতিগুলি একবার দেখে নিতে পারেন:

  1. গুগল এনজিগ্রামকে কীভাবে একটি ডাটাবেসে সেরা সঞ্চয় করবেন?
  2. টেবিলের <n সংখ্যায় ডাটাবেসে এন-গ্রাম সঞ্চয়
  3. রিলেশনাল ডেটাবেস সহ গুগল ওয়েব 1T 5-গ্রাম পরিচালনা করা

এখন, উপরের লিঙ্কগুলির কোনওটি না পড়ে, আমি একাধিক টেবিল ব্যবহার করে একটি সাধারণ, সম্পর্কিত সম্পর্কিত ডাটাবেস পদ্ধতির পরামর্শ দিচ্ছি, এন-গ্রামের প্রতিটি আকারের জন্য একটি। আপনি সর্বাধিক প্রয়োজনীয় কলামগুলির সাথে সমস্ত ডেটা একক টেবিলের মধ্যে রাখতে পারেন (যেমন বিগ্র্রামগুলি এবং ট্রিগ্রামগুলি এনগ্রামে স্টোর করুন, চূড়ান্ত কলামগুলি বাতিল করে রেখে যাবে), তবে আমি ডেটা বিভাজন করার পরামর্শ দিচ্ছি। আপনার ডাটাবেস ইঞ্জিনের উপর নির্ভর করে, প্রচুর সংখ্যক সারি সহ একটি একক টেবিল কার্যকারিতাটিকে নেতিবাচকভাবে প্রভাবিত করতে পারে।

  create table ngram_1 (
      word1 nvarchar(50),
      frequency FLOAT,
   primary key (word1));

  create table ngram_2 (
      word1 nvarchar(50),
      word2 nvarchar(50),
      frequency FLOAT,
   primary key (word1, word2));

  create table ngram_3 (
      word1 nvarchar(50),
      word2 nvarchar(50),
      word3 nvarchar(50),
      frequency FLOAT,
   primary key (word1, word2, word3));

  create table ngram_4 (
      word1 nvarchar(50),
      word2 nvarchar(50),
      word3 nvarchar(50),
      word4 nvarchar(50),
      frequency FLOAT,
   primary key (word1, word2, word3, word4));

এরপরে, আমি আপনাকে একটি কোয়েরি দেব যা আপনার সমস্ত এনজিআর টেবিলের পরে দেওয়া সবচেয়ে সম্ভাব্য পরবর্তী শব্দটি ফিরিয়ে দেবে। তবে প্রথমে, এখানে কিছু নমুনা তথ্য যা আপনার উপরের টেবিলগুলিতে shouldোকানো উচিত:

  INSERT [ngram_2] ([word1], [word2], [frequency]) VALUES (N'building', N'with', 0.5)
  INSERT [ngram_2] ([word1], [word2], [frequency]) VALUES (N'hit', N'the', 0.1)
  INSERT [ngram_2] ([word1], [word2], [frequency]) VALUES (N'man', N'hit', 0.2)
  INSERT [ngram_2] ([word1], [word2], [frequency]) VALUES (N'the', N'bat', 0.7)
  INSERT [ngram_2] ([word1], [word2], [frequency]) VALUES (N'the', N'building', 0.3)
  INSERT [ngram_2] ([word1], [word2], [frequency]) VALUES (N'the', N'man', 0.4)
  INSERT [ngram_2] ([word1], [word2], [frequency]) VALUES (N'with', N'the', 0.6)
  INSERT [ngram_3] ([word1], [word2], [word3], [frequency]) VALUES (N'building', N'with', N'the', 0.5)
  INSERT [ngram_3] ([word1], [word2], [word3], [frequency]) VALUES (N'hit', N'the', N'building', 0.3)
  INSERT [ngram_3] ([word1], [word2], [word3], [frequency]) VALUES (N'man', N'hit', N'the', 0.2)
  INSERT [ngram_3] ([word1], [word2], [word3], [frequency]) VALUES (N'the', N'building', N'with', 0.4)
  INSERT [ngram_3] ([word1], [word2], [word3], [frequency]) VALUES (N'the', N'man', N'hit', 0.1)
  INSERT [ngram_3] ([word1], [word2], [word3], [frequency]) VALUES (N'with', N'the', N'bat', 0.6)
  INSERT [ngram_4] ([word1], [word2], [word3], [word4], [frequency]) VALUES (N'building', N'with', N'the', N'bat', 0.5)
  INSERT [ngram_4] ([word1], [word2], [word3], [word4], [frequency]) VALUES (N'hit', N'the', N'building', N'with', 0.3)
  INSERT [ngram_4] ([word1], [word2], [word3], [word4], [frequency]) VALUES (N'man', N'hit', N'the', N'building', 0.2)
  INSERT [ngram_4] ([word1], [word2], [word3], [word4], [frequency]) VALUES (N'the', N'building', N'with', N'the', 0.4)
  INSERT [ngram_4] ([word1], [word2], [word3], [word4], [frequency]) VALUES (N'the', N'man', N'hit', N'the', 0.1)

সর্বাধিক সম্ভাব্য পরবর্তী শব্দটি জিজ্ঞাসা করতে আপনি এই জাতীয় একটি কোয়েরি ব্যবহার করবেন।

  DECLARE @word1 NVARCHAR(50) = 'the'
  DECLARE @word2 NVARCHAR(50) = 'man'
  DECLARE @word3 NVARCHAR(50) = 'hit'
  DECLARE @bigramWeight FLOAT = 0.2;
  DECLARE @trigramWeight FLOAT = 0.3
  DECLARE @fourgramWeight FLOAT = 0.5

  SELECT next_word, SUM(frequency) AS frequency
  FROM (
    SELECT word2 AS next_word, frequency * @bigramWeight AS frequency
    FROM ngram_2
    WHERE word1 = @word3
    UNION
    SELECT word3 AS next_word, frequency * @trigramWeight AS frequency
    FROM ngram_3
    WHERE word1 = @word2
      AND word2 = @word3
    UNION
    SELECT word4 AS next_word, frequency * @fourgramWeight AS frequency
    FROM ngram_4
    WHERE word1 = @word1
      AND word2 = @word2
      AND word3 = @word3
    ) next_words
  GROUP BY next_word
  ORDER BY SUM(frequency) DESC

আপনি যদি আরও এনগ্রাম টেবিল যোগ করেন তবে আপনাকে উপরের ক্যোয়ারিতে আরও একটি ইউনিয়ন ধারা যুক্ত করতে হবে। আপনি খেয়াল করতে পারেন যে প্রথম ক্যোয়ারিতে আমি শব্দ 1 = @ শব্দ 3 ব্যবহার করেছি। এবং দ্বিতীয় ক্যোয়ারিতে, শব্দ 1 = @ শব্দ 2 এবং শব্দ 2 = @ শব্দ 3। এটি কারণ আমাদের এনগ্রাম ডেটার জন্য ক্যোয়ারিতে তিনটি শব্দ সারিবদ্ধ করা দরকার । আমরা যদি তিনটি শব্দের অনুক্রমের জন্য সম্ভাব্য পরবর্তী শব্দটি চাই, তবে আমাদের ক্রমটির শব্দের শেষ শব্দের বিপরীতে বিগ্রামের ডাটাতে প্রথম শব্দটি পরীক্ষা করা দরকার ।

আপনি নিজের ইচ্ছে মতো ওজনের প্যারামিটারগুলি টুইচ করতে পারেন। এই উদাহরণে, আমি ধরে নিয়েছি যে উচ্চতর অর্ডিনাল "এন" গ্রাম আরও নির্ভরযোগ্য হবে।

PS আমি কনফিগারেশনের মাধ্যমে এনজিআর_এন টেবিলের যে কোনও সংখ্যা পরিচালনা করতে প্রোগ্রাম কোডটি গঠন করব। আপনি এনজিআর_৫ এবং এনজিআর_6 টেবিল তৈরি করার পরে প্রোগ্রামটি এন-গ্রাম রেঞ্জ এন (১..6) ব্যবহার করার জন্য ঘোষিতভাবে পরিবর্তন করতে পারেন।


এই ক্যোয়ারির সাহায্যে আমি এখানে কেবলমাত্র ফ্রিকোয়েন্সি স্কোরটি দেখতে পাচ্ছি। আমি কীভাবে পরবর্তী ভবিষ্যদ্বাণীপূর্ণ শব্দটি নির্বাচন করব। বাক্যটির সর্বাধিক প্রাসঙ্গিকতা কোনটি?
টমসোয়ায়ার 21

টমসওয়ের ভাল পয়েন্ট। আমি উত্তরে নমুনা ডেটা যুক্ত করেছি এবং একটি নমুনা ক্যোয়ারী দিয়েছি যা সবচেয়ে সম্ভাব্য পরবর্তী শব্দটি দেয়।
ম্যাথু রোডাটাস

আপনার আপডেটের জন্য ধন্যবাদ। কিন্তু আমরা এখানে ফ্রিকোয়েন্সি গণনা করতে পারি? অর্থাত্: মধ্যে ngram_2, এই বাক্যাংশটির building withফ্রেিক থাকে 0.5। একই প্রশ্ন @bigramWeight, এটা কি ?. আমি যদিও ফ্রিক ফিল্ড হ'ল প্রতিবার আমরা ডেটাবেস আপডেট করি update অর্থাৎ যদি ব্যবহারকারী আরও স্ট্রিং প্রবেশ করেন, তবে এই স্ট্রিংয়ের ফ্রিকোয়েন্সি পুনরায় গণনা করা হবে? 0.5 ব্যবহৃত প্রতিটি বার বা প্রতিটি বাক্যাংশের উপস্থিতির হারের 0.5 শতাংশ?
টমসওয়ায়ার

বিগ্রামওয়েট এবং ট্রিগ্রোওয়েট (ইত্যাদি) সামগ্রিক গণনায় কীভাবে বিভিন্ন এন-গ্রাম ওজন করা যায় তা। এটি সরলভাবে বলার উপায় যে লম্বা এন-গ্রামের এনট্রপি বেশি থাকে এবং আপনি তাদের ছোট এন-গ্রামের চেয়ে বেশি "গণনা" করতে চাইতে পারেন।
ম্যাথু রোডাটাস

ডাটাবেস আপডেট করার ক্ষেত্রে, অবশ্যই আমি সমস্ত বিবরণটি আবরণ করি নি এবং উন্নতির জন্য প্রচুর জায়গা রয়েছে। উদাহরণস্বরূপ, এনজিআরএম টেবিলগুলিতে এনভারচারগুলি সঞ্চয় করার পরিবর্তে আপনি সম্ভবত একটি শব্দ সারণীতে টোকনাইজ করতে চান (word_id INT, শব্দ এনভিচারার) এবং তারপরে এনগ্রাম টেবিলগুলিতে word_ids উল্লেখ করুন। পুনরায় প্রশিক্ষণের জন্য সারণীগুলি আপডেট করতে, এটি ঠিক - আপনি কেবল ফ্রিকোয়েন্সি ক্ষেত্রটি আপডেট করবেন।
ম্যাথু রোডাস

3

অন্যরা যা পরামর্শ দিচ্ছে তার বিপরীতে আমি হ্যাশম্যাপ বা কী-ভ্যালু স্টোরের চেয়ে জটিল কোনও ডেটা স্ট্রাকচার এড়াতে পরামর্শ দেব।

আপনার ডেটা অ্যাক্সেসের প্রয়োজনীয়তার কথা মাথায় রাখুন: ক) ৯৯% অনুরোধ - কোয়েরি এনগ্রাম "এএ-বিবিবি-সিসিসি" এবং মানটি (বা ০) পুনরুদ্ধার করুন খ) ১% অনুরোধ - নির্দিষ্ট এনগ্রাম সি এর একটি গণনা সন্নিবেশ / আপডেট করা) কোনও নেই (গ)।

সর্বাধিক কার্যকর উপায় হ'ল এটি একটি একক দৃষ্টিকোণ দিয়ে পুনরুদ্ধার করা। একক স্ট্রিংয়ে পূর্ণ এন-গ্রাম একত্রিত করতে আপনি একটি সীমার বাইরে (বা পালানো) বিভাজক ব্যবহার করতে পারেন (যেমন "আলফা | বিটা | গামা" 3 গ্রামের জন্য, ইউনিগ্রামের জন্য "আলফা" ইত্যাদি) এবং কেবল এটি আনতে পারেন ( এর হ্যাশ দ্বারা)। এনএলপি সফটওয়্যারটি অনেকটা এটি করে।

যদি আপনার এনগ্রামের ডেটা ছোট হয় (বলুন, <1 গিগাবাইট) এবং মেমরির সাথে ফিট করে, তবে আমি ওভারহেড এড়াতে একটি কার্যকর ইন-প্রোগ্রাম মেমরি কাঠামো (হ্যাশম্যাপস, গাছ, চেষ্টা ইত্যাদি) ব্যবহার করার পরামর্শ দেব; এবং কেবল ফ্ল্যাট ফাইলগুলিতে সিরিয়ালাইজ / ডিসিরিয়ালাইজ করুন। যদি আপনার এনগ্রাম ডেটা টেরাবাইট বা তার বেশি হয় তবে আপনি নোএসকিউএল কী-মান স্টোর একাধিক নোডে বিভক্ত করতে পারেন।

অতিরিক্ত পারফরম্যান্সের জন্য, আপনি সবকটি শব্দ ইন্টিজার আইডের সাথে প্রতিস্থাপন করতে চাইতে পারেন যাতে আপনার মূল অ্যালগরিদম কোনও (ধীর) স্ট্রিং দেখতে পাবে না; তবে একই ধারণাটি বাস্তবায়নের জন্য এটি কিছুটা আলাদা।


1

আপনার পছন্দ মতো ডাটাবেসে সবচেয়ে দক্ষ, তবে সহজ এবং বিবাহিত নয়:

Table: word
Colums:
word (int, primary key) - a unique identifier for each word
text (varchar) - the actual word

Table: wordpos
Columns:
document (int) - a unique identified for the document of this word
word (int, foreign key to word.word) - the word in this position
pos (int) - the position of this word (e.g., first word is 1, next is 2, ...)

ওয়ার্ডপোসের ডকুমেন্ট এবং পোস্টে সূচি থাকতে হবে।

বিগ্রামগুলি হ'ল:

select word1.text as word1, word2.text as word2
from wordpos as pos1, wordpos as pos2, word as word1, word as word2
where pos1.document = pos2.document
      and pos1.pos = pos2.pos - 1
      and word1.word = pos1.word
      and word2.word = pos2.word

তারপরে আপনি গণনা করতে পারেন () এবং ফ্রিকোয়েন্সি এবং স্টাফগুলিতে আপনার উপায়কে গ্রুপ করতে পারেন।

ট্রিগারগুলিতে পরিবর্তন করতে, একটি শব্দ 3 অন্তর্ভুক্ত করার জন্য এই স্ট্রিংটি সহজেই তৈরি করা যায়।

আমি বাস্তবে এটি করার আগেই করেছি (এসকিউএল আপ থাকলেও সম্ভবত কিছুটা মরিচা রয়েছে)। আমি ফ্ল্যাট ফাইলগুলির একটি সেটে স্থির হয়েছি যা সহজেই অনুসন্ধানের পরে ডিস্কের বাইরে স্ট্রিম করা যায়। কীন্ডা আপনার হার্ডওয়ারের উপর নির্ভর করে কীভাবে এটি আরও ভাল করা যায়।


1

আমার অ্যাপ্লিকেশনগুলির সহজ অনুসন্ধানগুলি বিগ্রামগুলিতে এবং ইউনিগ্রাম থেকে ট্রিগারগুলিতে উন্নত করার চেষ্টা করার সময়, আমি আপনার প্রশ্নটি দেখেছি।

যদি প্রয়োজনীয়তার মধ্যে একটি বিতরণকৃত ফাইল সিস্টেম বা ডাটাবেসকে জিজ্ঞাসা করার দক্ষতা হয় তবে এটি আপনার জন্যও আকর্ষণীয় হতে পারে: কাগজ পিবিরি এবং ভেনচুরিনি 2018 "ম্যাসিভ এন-গ্রাম ডেটাসেটগুলি দক্ষতার সাথে পরিচালনা করা" এতে এন-গ্রাম ডেটা সংরক্ষণের একটি কার্যকর উপায়ের রূপরেখা দেয় P রানটাইম এবং স্পেসের শর্তাবলী। তারা https://github.com/jermp/tong گرام এ তাদের প্রয়োগের প্রস্তাব দিয়েছে

এন-গ্রামগুলির প্রতিটি "এন" খুব দ্রুত নির্বাচন এবং ক্যোয়ারী দক্ষতার সাথে ন্যূনতম নিখুঁত হ্যাশ ফাংশন দ্বারা অ্যাক্সেস করা পৃথক টেবিলে রাখা হয়। টেবিলগুলি স্থির এবং গুগল এন-গ্রাম টেক্সট ফাইলগুলির ফর্ম্যাট ইনপুট ব্যবহার করে মূল কোড দ্বারা নির্মিত।

আমি এখনও কোডটি ব্যবহার করি নি, তবে আপনার কোথা থেকে কোথা থেকে আসা আপনার খোলামেলা প্রয়োজনীয়তার সাথে আপনি অনেকগুলি উপায় পেতে পারেন।

একটি উপায়: যদি সার্ভলেটের NET সমতুল্য কোনও ডাটাবেস বা ডেটাস্টোর ব্যবহার করা হয় এবং আপনার যদি স্টোরেজ স্পেস সংরক্ষণ করার প্রয়োজন হয় তবে টেবিল হিসাবে প্রতিটি এনজিআর টেবিলটি ডাটাবেস / ডাটাস্টোরের বাইনারি আকারে সংরক্ষণ করা একটি বিকল্প (এক ডাটাবেস) / সমস্ত 1-গ্রামের জন্য এনজিআরএম কোডের কার্যকর স্ট্যাটিক ফাইলের জন্য ডেটাস্টোর টেবিল, সমস্ত 2-গ্রাম ইত্যাদির জন্য অন্য)। দক্ষতার সাথে এন-গ্রাম কোড (আপনার সার্ভলেটের মাধ্যমে অ্যাক্সেসযোগ্য হওয়ার জন্য মোড়ানো) কে জিজ্ঞাসাবাদগুলি চালানো হবে। এটি একটি বিতরণ করা ডাটাবেস তৈরির কাজ যা কোনও বিতরণকারী ফাইল সিস্টেমে ফাইলগুলি অ্যাক্সেস করার জন্য দক্ষ এন-গ্রাম কোড ব্যবহার করে। নোট করুন যে বাইনারি ডাটাবেস / ডেটাস্টোর টেবিলগুলির প্রত্যেকের অন্তর্নিহিত ফাইল-সিস্টেমের ফাইল-আকারের সীমাবদ্ধতা রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.